58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
import {makeObservable, action, observable} from 'mobx';
|
|
|
|
export class storeVersionHistory {
|
|
constructor() {
|
|
makeObservable(this, {
|
|
arrVersions: observable,
|
|
setVersions: action,
|
|
isVersionHistoryMode: observable,
|
|
changeVersionHistoryMode: action,
|
|
currentVersion: observable,
|
|
changeVersion: action,
|
|
usersVersions: observable,
|
|
addUser: action,
|
|
})
|
|
}
|
|
|
|
isVersionHistoryMode = false;
|
|
currentVersion = null;
|
|
arrVersions = [];
|
|
usersVersions = [];
|
|
|
|
addUser(user) {
|
|
this.usersVersions.push(user);
|
|
}
|
|
|
|
findUserById(id) {
|
|
const user = this.usersVersions.find(user => user.id === id);
|
|
return user;
|
|
}
|
|
|
|
changeVersion(version) {
|
|
this.currentVersion = version;
|
|
}
|
|
|
|
changeVersionHistoryMode(value) {
|
|
this.isVersionHistoryMode = value;
|
|
}
|
|
|
|
setVersions(arr) {
|
|
this.arrVersions = arr;
|
|
}
|
|
|
|
findRevisions(revision) {
|
|
return this.arrVersions.filter(rev => rev.revision === revision);
|
|
}
|
|
|
|
hasChanges() {
|
|
return this.arrVersions.filter(rev => rev.isRevision === false).length > 0
|
|
}
|
|
|
|
getCurrentVersion() {
|
|
return this.arrVersions.find(rev => rev.selected) || null;
|
|
}
|
|
|
|
hasCollapsed() {
|
|
return this.arrVersions.filter(rev => rev.isRevision === true && rev.hasChanges === true && rev.isExpanded === false).length > 0;
|
|
}
|
|
} |