+
+ private _delProject(prj: IXDSProjectConfig) {
+ const idx = this._prjsList.findIndex(item => item.id === prj.id);
+ if (idx === -1) {
+ if (isDevMode) {
+ /* tslint:disable:no-console */
+ console.log('Warning: Try to delete project unknown id: prj=', prj);
+ }
+ return;
+ }
+ const delId = this._prjsList[idx].id;
+ this._prjsList.splice(idx, 1);
+ if (this._prjsList[idx].id === this._current.id) {
+ this.setCurrent(this._prjsList[0]);
+ }
+ this.prjsSubject.next(this._prjsList);
+ }
+
+ private _updateProject(prj: IXDSProjectConfig) {
+ const i = this._getProjectIdx(prj.id);
+ if (i >= 0) {
+ // XXX for now, only isInSync and status may change
+ this._prjsList[i].isInSync = prj.isInSync;
+ this._prjsList[i].status = prj.status;
+ this._prjsList[i].isUsable = this._isUsableProject(prj);
+ this.prjsSubject.next(this._prjsList);
+ }
+ }
+