test.beforeEach(t => { t.context.stub = sinon.stub().returns(Promise.resolve()); t.context.series = new PromiseSeries(); t.context.series.add(t.context.stub); t.context.series.add(t.context.stub); t.context.series.add(rejectPromise); t.context.series.add(t.context.stub); t.context.series.add(t.context.stub); });
resource.update = function (model) { var isInitialLoad = !resource.state.csrf; var userChanged = model.userid !== resource.state.userid; var groupsChanged = !angular.equals(model.groups, resource.state.groups); // Copy the model data (including the CSRF token) into `resource.state`. angular.copy(model, resource.state); // Set up subsequent requests to send the CSRF token in the headers. if (resource.state.csrf) { headers[$http.defaults.xsrfHeaderName] = resource.state.csrf; } // Replace lastLoad with the latest data, and update lastLoadTime. lastLoad = {$promise: Promise.resolve(model), $resolved: true}; lastLoadTime = Date.now(); $rootScope.$broadcast(events.SESSION_CHANGED, { initialLoad: isInitialLoad, }); if (userChanged) { $rootScope.$broadcast(events.USER_CHANGED, { initialLoad: isInitialLoad, }); // associate error reports with the current user in Sentry if (resource.state.userid) { raven.setUserInfo({ id: resource.state.userid, }) } else { raven.setUserInfo(undefined); } } if (groupsChanged) { $rootScope.$broadcast(events.GROUPS_CHANGED, { initialLoad: isInitialLoad, }); } // Return the model return model; };
* @param {string} [options.styles.fontStyle] Type of inclination (normal / italic) * @param {string} [options.styles.fontWeight] Type of thicker or thinner looking (normal / bold) * @param {string} [options.styles.textAlign] Type of text align (left / center / right) * @param {string} [options.styles.textDecoraiton] Type of line (underline / line-throgh / overline) * @param {{x: number, y: number}} [options.position] - Initial position * @returns {Promise} */ execute(graphics, text, options) { const textComp = graphics.getComponent(TEXT); return textComp.add(text, options).then(objectProps => { this.undoData.object = graphics.getObject(objectProps.id); return objectProps; }); }, /** * @param {Graphics} graphics - Graphics instance * @returns {Promise} */ undo(graphics) { graphics.remove(this.undoData.object); return Promise.resolve(); } }; commandFactory.register(command); module.exports = command;