offline fixes
This commit is contained in:
@@ -152,7 +152,7 @@ angular.module('app.frontend')
|
||||
saveTimeout = $timeout(function(){
|
||||
this.noteStatus = "Saving...";
|
||||
this.saveNote();
|
||||
}.bind(this), 150)
|
||||
}.bind(this), 275)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2,9 +2,7 @@ angular.module('app.frontend')
|
||||
.directive("header", function(apiController, extensionManager){
|
||||
return {
|
||||
restrict: 'E',
|
||||
scope: {
|
||||
logout: "&"
|
||||
},
|
||||
scope: {},
|
||||
templateUrl: 'frontend/header.html',
|
||||
replace: true,
|
||||
controller: 'HeaderCtrl',
|
||||
@@ -90,7 +88,6 @@ angular.module('app.frontend')
|
||||
|
||||
this.signOutPressed = function() {
|
||||
this.showAccountMenu = false;
|
||||
this.logout()();
|
||||
apiController.signout();
|
||||
window.location.reload();
|
||||
}
|
||||
@@ -194,13 +191,18 @@ angular.module('app.frontend')
|
||||
}
|
||||
|
||||
this.performImport = function(data, password) {
|
||||
apiController.importJSONData(data, password, function(success, response){
|
||||
console.log("import response", success, response);
|
||||
if(success) {
|
||||
this.importData = null;
|
||||
} else {
|
||||
alert("There was an error importing your data. Please try again.");
|
||||
}
|
||||
this.importData.loading = true;
|
||||
// allow loading indicator to come up with timeout
|
||||
$timeout(function(){
|
||||
apiController.importJSONData(data, password, function(success, response){
|
||||
console.log("Import response:", success, response);
|
||||
this.importData.loading = false;
|
||||
if(success) {
|
||||
this.importData = null;
|
||||
} else {
|
||||
alert("There was an error importing your data. Please try again.");
|
||||
}
|
||||
}.bind(this))
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
|
||||
@@ -131,14 +131,4 @@ angular.module('app.frontend')
|
||||
|
||||
apiController.sync(null);
|
||||
}
|
||||
|
||||
/*
|
||||
Header Ctrl Callbacks
|
||||
*/
|
||||
|
||||
$scope.headerLogout = function() {
|
||||
apiController.clearLocalStorage();
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
@@ -57,6 +57,11 @@ class Item {
|
||||
}
|
||||
}
|
||||
|
||||
markAllReferencesDirty() {
|
||||
this.allReferencedObjects().forEach(function(reference){
|
||||
reference.setDirty(true);
|
||||
})
|
||||
}
|
||||
addObserver(observer, callback) {
|
||||
if(!_.find(this.observers, observer)) {
|
||||
this.observers.push({observer: observer, callback: callback});
|
||||
|
||||
@@ -213,10 +213,10 @@ angular.module('app.frontend')
|
||||
}
|
||||
|
||||
this.syncWithOptions = function(callback, options = {}) {
|
||||
this.writeAllItemsToLocalStorage(function(responseItems){
|
||||
var dirtyItems = modelManager.getDirtyItems();
|
||||
|
||||
this.writeItemsToLocalStorage(dirtyItems, function(responseItems){
|
||||
if(!this.isUserSignedIn()) {
|
||||
// is not signed in
|
||||
var dirtyItems = modelManager.getDirtyItems();
|
||||
// delete anything needing to be deleted
|
||||
dirtyItems.forEach(function(item){
|
||||
if(item.deleted) {
|
||||
@@ -234,7 +234,7 @@ angular.module('app.frontend')
|
||||
return;
|
||||
}
|
||||
|
||||
var dirtyItems = modelManager.getDirtyItems();
|
||||
|
||||
var request = Restangular.one("items/sync");
|
||||
request.items = _.map(dirtyItems, function(item){
|
||||
return this.createRequestParamsForItem(item, options.additionalFields);
|
||||
@@ -251,14 +251,15 @@ angular.module('app.frontend')
|
||||
this.setSyncToken(response.sync_token);
|
||||
$rootScope.$broadcast("sync:updated_token", this.syncToken);
|
||||
|
||||
this.handleItemsResponse(response.retrieved_items, null);
|
||||
var retrieved = this.handleItemsResponse(response.retrieved_items, null);
|
||||
// merge only metadata for saved items
|
||||
var omitFields = ["content", "enc_item_key", "auth_hash"];
|
||||
this.handleItemsResponse(response.saved_items, omitFields);
|
||||
var saved = this.handleItemsResponse(response.saved_items, omitFields);
|
||||
|
||||
this.handleUnsavedItemsResponse(response.unsaved)
|
||||
|
||||
this.writeAllItemsToLocalStorage();
|
||||
this.writeItemsToLocalStorage(saved, null);
|
||||
this.writeItemsToLocalStorage(retrieved, null);
|
||||
|
||||
if(callback) {
|
||||
callback(response);
|
||||
@@ -289,9 +290,7 @@ angular.module('app.frontend')
|
||||
if(error.tag == "uuid_conflict") {
|
||||
item.alternateUUID();
|
||||
item.setDirty(true);
|
||||
item.allReferencedObjects().forEach(function(reference){
|
||||
reference.setDirty(true);
|
||||
})
|
||||
item.markAllReferencesDirty();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -393,9 +392,10 @@ angular.module('app.frontend')
|
||||
console.log("Importing data", data);
|
||||
|
||||
var onDataReady = function() {
|
||||
modelManager.mapResponseItemsToLocalModels(data.items);
|
||||
modelManager.allItems.forEach(function(item){
|
||||
var items = modelManager.mapResponseItemsToLocalModels(data.items);
|
||||
items.forEach(function(item){
|
||||
item.setDirty(true);
|
||||
item.markAllReferencesDirty();
|
||||
})
|
||||
this.syncWithOptions(callback, {additionalFields: ["created_at", "updated_at"]});
|
||||
}.bind(this)
|
||||
@@ -483,38 +483,31 @@ angular.module('app.frontend')
|
||||
|
||||
|
||||
|
||||
|
||||
this.clearLocalStorage = function() {
|
||||
localStorage.removeItem("items");
|
||||
localStorage.removeItem("mk");
|
||||
localStorage.removeItem("jwt");
|
||||
localStorage.removeItem("uuid");
|
||||
localStorage.removeItem("syncToken");
|
||||
localStorage.removeItem("auth_params");
|
||||
}
|
||||
|
||||
this.staticifyObject = function(object) {
|
||||
return JSON.parse(JSON.stringify(object));
|
||||
}
|
||||
|
||||
this.writeAllItemsToLocalStorage = function(callback) {
|
||||
var items = _.map(modelManager.allItems, function(item){
|
||||
return this.paramsForItem(item, this.isUserSignedIn(), ["created_at", "updated_at", "presentation_url"], false)
|
||||
}.bind(this));
|
||||
// console.log("Writing items to local", items);
|
||||
this.writeToLocalStorage('items', items);
|
||||
this.writeItemsToLocalStorage = function(items, callback) {
|
||||
for(var item of items) {
|
||||
var params = this.paramsForItem(item, this.isUserSignedIn(), ["created_at", "updated_at", "presentation_url"], false)
|
||||
localStorage.setItem("item-" + item.uuid, JSON.stringify(params));
|
||||
}
|
||||
if(callback) {
|
||||
callback(items);
|
||||
}
|
||||
}
|
||||
|
||||
this.writeToLocalStorage = function(key, value) {
|
||||
localStorage.setItem(key, angular.toJson(value));
|
||||
}
|
||||
|
||||
this.loadLocalItems = function() {
|
||||
var items = JSON.parse(localStorage.getItem('items')) || [];
|
||||
items = this.handleItemsResponse(items, null);
|
||||
var itemsParams = [];
|
||||
for (var i = 0; i < localStorage.length; i++){
|
||||
var key = localStorage.key(i);
|
||||
if(key.startsWith("item-")) {
|
||||
var item = localStorage.getItem(key);
|
||||
itemsParams.push(JSON.parse(item));
|
||||
}
|
||||
}
|
||||
|
||||
var items = this.handleItemsResponse(itemsParams, null);
|
||||
Item.sortItemsByDate(items);
|
||||
}
|
||||
|
||||
@@ -556,8 +549,7 @@ angular.module('app.frontend')
|
||||
}
|
||||
|
||||
this.signout = function() {
|
||||
localStorage.removeItem("jwt");
|
||||
localStorage.removeItem("mk");
|
||||
localStorage.clear();
|
||||
}
|
||||
|
||||
this.encryptSingleItem = function(item, masterKey) {
|
||||
|
||||
@@ -85,15 +85,17 @@
|
||||
.action-container
|
||||
%a{"ng-click" => "ctrl.downloadDataArchive()"} Download Data Archive
|
||||
%br
|
||||
%label#import-archive
|
||||
%input{"type" => "file", "style" => "display: none;", "file-change" => "->", "handler" => "ctrl.importFileSelected(files)"}
|
||||
%a.disabled
|
||||
%span
|
||||
Import Data from Archive
|
||||
.import-password{"ng-if" => "ctrl.importData.requestPassword"}
|
||||
Enter the account password associated with the import file.
|
||||
%input.field{"type" => "text", "ng-model" => "ctrl.importData.password"}
|
||||
%button{"ng-click" => "ctrl.submitImportPassword()"} Decrypt & Import
|
||||
%div{"ng-if" => "!ctrl.importData.loading"}
|
||||
%label#import-archive
|
||||
%input{"type" => "file", "style" => "display: none;", "file-change" => "->", "handler" => "ctrl.importFileSelected(files)"}
|
||||
%a.disabled
|
||||
%span
|
||||
Import Data from Archive
|
||||
.import-password{"ng-if" => "ctrl.importData.requestPassword"}
|
||||
Enter the account password associated with the import file.
|
||||
%input.field{"type" => "text", "ng-model" => "ctrl.importData.password"}
|
||||
%button{"ng-click" => "ctrl.submitImportPassword()"} Decrypt & Import
|
||||
.spinner{"ng-if" => "ctrl.importData.loading"}
|
||||
|
||||
.item
|
||||
%a{"ng-click" => "ctrl.toggleExtensions()"} Extensions
|
||||
|
||||
@@ -9,4 +9,4 @@
|
||||
|
||||
%editor-section{"ng-if" => "selectedNote", "note" => "selectedNote", "remove" => "deleteNote",
|
||||
"user" => "defaultUser", "save" => "saveNote"}
|
||||
%header{"user" => "defaultUser", "logout" => "headerLogout"}
|
||||
%header{"user" => "defaultUser"}
|
||||
|
||||
419
vendor/assets/javascripts/transpiled.js
vendored
419
vendor/assets/javascripts/transpiled.js
vendored
@@ -597,7 +597,7 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
|
||||
saveTimeout = $timeout(function () {
|
||||
this.noteStatus = "Saving...";
|
||||
this.saveNote();
|
||||
}.bind(this), 150);
|
||||
}.bind(this), 275);
|
||||
};
|
||||
|
||||
this.contentChanged = function () {
|
||||
@@ -716,9 +716,7 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
|
||||
;angular.module('app.frontend').directive("header", function (apiController, extensionManager) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
scope: {
|
||||
logout: "&"
|
||||
},
|
||||
scope: {},
|
||||
templateUrl: 'frontend/header.html',
|
||||
replace: true,
|
||||
controller: 'HeaderCtrl',
|
||||
@@ -803,7 +801,6 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
|
||||
|
||||
this.signOutPressed = function () {
|
||||
this.showAccountMenu = false;
|
||||
this.logout()();
|
||||
apiController.signout();
|
||||
window.location.reload();
|
||||
};
|
||||
@@ -904,13 +901,18 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
|
||||
};
|
||||
|
||||
this.performImport = function (data, password) {
|
||||
apiController.importJSONData(data, password, function (success, response) {
|
||||
console.log("import response", success, response);
|
||||
if (success) {
|
||||
this.importData = null;
|
||||
} else {
|
||||
alert("There was an error importing your data. Please try again.");
|
||||
}
|
||||
this.importData.loading = true;
|
||||
// allow loading indicator to come up with timeout
|
||||
$timeout(function () {
|
||||
apiController.importJSONData(data, password, function (success, response) {
|
||||
console.log("Import response:", success, response);
|
||||
this.importData.loading = false;
|
||||
if (success) {
|
||||
this.importData = null;
|
||||
} else {
|
||||
alert("There was an error importing your data. Please try again.");
|
||||
}
|
||||
}.bind(this));
|
||||
}.bind(this));
|
||||
};
|
||||
|
||||
@@ -1085,14 +1087,6 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
|
||||
|
||||
apiController.sync(null);
|
||||
};
|
||||
|
||||
/*
|
||||
Header Ctrl Callbacks
|
||||
*/
|
||||
|
||||
$scope.headerLogout = function () {
|
||||
apiController.clearLocalStorage();
|
||||
};
|
||||
});
|
||||
;angular.module('app.frontend').directive("notesSection", function () {
|
||||
return {
|
||||
@@ -1387,6 +1381,13 @@ var Item = function () {
|
||||
this.notifyObserversOfChange();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'markAllReferencesDirty',
|
||||
value: function markAllReferencesDirty() {
|
||||
this.allReferencedObjects().forEach(function (reference) {
|
||||
reference.setDirty(true);
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'addObserver',
|
||||
value: function addObserver(observer, callback) {
|
||||
@@ -2120,10 +2121,10 @@ var Tag = function (_Item3) {
|
||||
this.syncWithOptions = function (callback) {
|
||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
|
||||
this.writeAllItemsToLocalStorage(function (responseItems) {
|
||||
var dirtyItems = modelManager.getDirtyItems();
|
||||
|
||||
this.writeItemsToLocalStorage(dirtyItems, function (responseItems) {
|
||||
if (!this.isUserSignedIn()) {
|
||||
// is not signed in
|
||||
var dirtyItems = modelManager.getDirtyItems();
|
||||
// delete anything needing to be deleted
|
||||
dirtyItems.forEach(function (item) {
|
||||
if (item.deleted) {
|
||||
@@ -2141,7 +2142,6 @@ var Tag = function (_Item3) {
|
||||
return;
|
||||
}
|
||||
|
||||
var dirtyItems = modelManager.getDirtyItems();
|
||||
var request = Restangular.one("items/sync");
|
||||
request.items = _.map(dirtyItems, function (item) {
|
||||
return this.createRequestParamsForItem(item, options.additionalFields);
|
||||
@@ -2158,14 +2158,15 @@ var Tag = function (_Item3) {
|
||||
this.setSyncToken(response.sync_token);
|
||||
$rootScope.$broadcast("sync:updated_token", this.syncToken);
|
||||
|
||||
this.handleItemsResponse(response.retrieved_items, null);
|
||||
var retrieved = this.handleItemsResponse(response.retrieved_items, null);
|
||||
// merge only metadata for saved items
|
||||
var omitFields = ["content", "enc_item_key", "auth_hash"];
|
||||
this.handleItemsResponse(response.saved_items, omitFields);
|
||||
var saved = this.handleItemsResponse(response.saved_items, omitFields);
|
||||
|
||||
this.handleUnsavedItemsResponse(response.unsaved);
|
||||
|
||||
this.writeAllItemsToLocalStorage();
|
||||
this.writeItemsToLocalStorage(saved, null);
|
||||
this.writeItemsToLocalStorage(retrieved, null);
|
||||
|
||||
if (callback) {
|
||||
callback(response);
|
||||
@@ -2202,9 +2203,7 @@ var Tag = function (_Item3) {
|
||||
if (error.tag == "uuid_conflict") {
|
||||
item.alternateUUID();
|
||||
item.setDirty(true);
|
||||
item.allReferencedObjects().forEach(function (reference) {
|
||||
reference.setDirty(true);
|
||||
});
|
||||
item.markAllReferencesDirty();
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
@@ -2319,9 +2318,10 @@ var Tag = function (_Item3) {
|
||||
console.log("Importing data", data);
|
||||
|
||||
var onDataReady = function () {
|
||||
modelManager.mapResponseItemsToLocalModels(data.items);
|
||||
modelManager.allItems.forEach(function (item) {
|
||||
var items = modelManager.mapResponseItemsToLocalModels(data.items);
|
||||
items.forEach(function (item) {
|
||||
item.setDirty(true);
|
||||
item.markAllReferencesDirty();
|
||||
});
|
||||
this.syncWithOptions(callback, { additionalFields: ["created_at", "updated_at"] });
|
||||
}.bind(this);
|
||||
@@ -2405,37 +2405,53 @@ var Tag = function (_Item3) {
|
||||
// }
|
||||
|
||||
|
||||
this.clearLocalStorage = function () {
|
||||
localStorage.removeItem("items");
|
||||
localStorage.removeItem("mk");
|
||||
localStorage.removeItem("jwt");
|
||||
localStorage.removeItem("uuid");
|
||||
localStorage.removeItem("syncToken");
|
||||
localStorage.removeItem("auth_params");
|
||||
};
|
||||
|
||||
this.staticifyObject = function (object) {
|
||||
return JSON.parse(JSON.stringify(object));
|
||||
};
|
||||
|
||||
this.writeAllItemsToLocalStorage = function (callback) {
|
||||
var items = _.map(modelManager.allItems, function (item) {
|
||||
return this.paramsForItem(item, this.isUserSignedIn(), ["created_at", "updated_at", "presentation_url"], false);
|
||||
}.bind(this));
|
||||
// console.log("Writing items to local", items);
|
||||
this.writeToLocalStorage('items', items);
|
||||
this.writeItemsToLocalStorage = function (items, callback) {
|
||||
var _iteratorNormalCompletion5 = true;
|
||||
var _didIteratorError5 = false;
|
||||
var _iteratorError5 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator5 = items[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
|
||||
var item = _step5.value;
|
||||
|
||||
var params = this.paramsForItem(item, this.isUserSignedIn(), ["created_at", "updated_at", "presentation_url"], false);
|
||||
localStorage.setItem("item-" + item.uuid, JSON.stringify(params));
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError5 = true;
|
||||
_iteratorError5 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion5 && _iterator5.return) {
|
||||
_iterator5.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError5) {
|
||||
throw _iteratorError5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (callback) {
|
||||
callback(items);
|
||||
}
|
||||
};
|
||||
|
||||
this.writeToLocalStorage = function (key, value) {
|
||||
localStorage.setItem(key, angular.toJson(value));
|
||||
};
|
||||
|
||||
this.loadLocalItems = function () {
|
||||
var items = JSON.parse(localStorage.getItem('items')) || [];
|
||||
items = this.handleItemsResponse(items, null);
|
||||
var itemsParams = [];
|
||||
for (var i = 0; i < localStorage.length; i++) {
|
||||
var key = localStorage.key(i);
|
||||
if (key.startsWith("item-")) {
|
||||
var item = localStorage.getItem(key);
|
||||
itemsParams.push(JSON.parse(item));
|
||||
}
|
||||
}
|
||||
|
||||
var items = this.handleItemsResponse(itemsParams, null);
|
||||
Item.sortItemsByDate(items);
|
||||
};
|
||||
|
||||
@@ -2476,8 +2492,7 @@ var Tag = function (_Item3) {
|
||||
};
|
||||
|
||||
this.signout = function () {
|
||||
localStorage.removeItem("jwt");
|
||||
localStorage.removeItem("mk");
|
||||
localStorage.clear();
|
||||
};
|
||||
|
||||
this.encryptSingleItem = function (item, masterKey) {
|
||||
@@ -2520,13 +2535,13 @@ var Tag = function (_Item3) {
|
||||
};
|
||||
|
||||
this.decryptItemsWithKey = function (items, key) {
|
||||
var _iteratorNormalCompletion5 = true;
|
||||
var _didIteratorError5 = false;
|
||||
var _iteratorError5 = undefined;
|
||||
var _iteratorNormalCompletion6 = true;
|
||||
var _didIteratorError6 = false;
|
||||
var _iteratorError6 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator5 = items[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
|
||||
var item = _step5.value;
|
||||
for (var _iterator6 = items[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
|
||||
var item = _step6.value;
|
||||
|
||||
if (item.deleted == true) {
|
||||
continue;
|
||||
@@ -2543,16 +2558,16 @@ var Tag = function (_Item3) {
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError5 = true;
|
||||
_iteratorError5 = err;
|
||||
_didIteratorError6 = true;
|
||||
_iteratorError6 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion5 && _iterator5.return) {
|
||||
_iterator5.return();
|
||||
if (!_iteratorNormalCompletion6 && _iterator6.return) {
|
||||
_iterator6.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError5) {
|
||||
throw _iteratorError5;
|
||||
if (_didIteratorError6) {
|
||||
throw _iteratorError6;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2964,55 +2979,55 @@ var ExtensionManager = function () {
|
||||
this.decryptedExtensions = JSON.parse(localStorage.getItem("decryptedExtensions")) || [];
|
||||
|
||||
modelManager.addItemSyncObserver("extensionManager", "Extension", function (items) {
|
||||
var _iteratorNormalCompletion6 = true;
|
||||
var _didIteratorError6 = false;
|
||||
var _iteratorError6 = undefined;
|
||||
var _iteratorNormalCompletion7 = true;
|
||||
var _didIteratorError7 = false;
|
||||
var _iteratorError7 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator6 = items[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
|
||||
var ext = _step6.value;
|
||||
for (var _iterator7 = items[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
|
||||
var ext = _step7.value;
|
||||
|
||||
|
||||
ext.encrypted = this.extensionUsesEncryptedData(ext);
|
||||
|
||||
var _iteratorNormalCompletion7 = true;
|
||||
var _didIteratorError7 = false;
|
||||
var _iteratorError7 = undefined;
|
||||
var _iteratorNormalCompletion8 = true;
|
||||
var _didIteratorError8 = false;
|
||||
var _iteratorError8 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator7 = ext.actions[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
|
||||
var action = _step7.value;
|
||||
for (var _iterator8 = ext.actions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
|
||||
var action = _step8.value;
|
||||
|
||||
if (this.enabledRepeatActionUrls.includes(action.url)) {
|
||||
this.enableRepeatAction(action, ext);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError7 = true;
|
||||
_iteratorError7 = err;
|
||||
_didIteratorError8 = true;
|
||||
_iteratorError8 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion7 && _iterator7.return) {
|
||||
_iterator7.return();
|
||||
if (!_iteratorNormalCompletion8 && _iterator8.return) {
|
||||
_iterator8.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError7) {
|
||||
throw _iteratorError7;
|
||||
if (_didIteratorError8) {
|
||||
throw _iteratorError8;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError6 = true;
|
||||
_iteratorError6 = err;
|
||||
_didIteratorError7 = true;
|
||||
_iteratorError7 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion6 && _iterator6.return) {
|
||||
_iterator6.return();
|
||||
if (!_iteratorNormalCompletion7 && _iterator7.return) {
|
||||
_iterator7.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError6) {
|
||||
throw _iteratorError6;
|
||||
if (_didIteratorError7) {
|
||||
throw _iteratorError7;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3029,27 +3044,27 @@ var ExtensionManager = function () {
|
||||
}, {
|
||||
key: 'actionWithURL',
|
||||
value: function actionWithURL(url) {
|
||||
var _iteratorNormalCompletion8 = true;
|
||||
var _didIteratorError8 = false;
|
||||
var _iteratorError8 = undefined;
|
||||
var _iteratorNormalCompletion9 = true;
|
||||
var _didIteratorError9 = false;
|
||||
var _iteratorError9 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator8 = this.extensions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
|
||||
var extension = _step8.value;
|
||||
for (var _iterator9 = this.extensions[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
|
||||
var extension = _step9.value;
|
||||
|
||||
return _.find(extension.actions, { url: url });
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError8 = true;
|
||||
_iteratorError8 = err;
|
||||
_didIteratorError9 = true;
|
||||
_iteratorError9 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion8 && _iterator8.return) {
|
||||
_iterator8.return();
|
||||
if (!_iteratorNormalCompletion9 && _iterator9.return) {
|
||||
_iterator9.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError8) {
|
||||
throw _iteratorError8;
|
||||
if (_didIteratorError9) {
|
||||
throw _iteratorError9;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3080,13 +3095,13 @@ var ExtensionManager = function () {
|
||||
}, {
|
||||
key: 'deleteExtension',
|
||||
value: function deleteExtension(extension) {
|
||||
var _iteratorNormalCompletion9 = true;
|
||||
var _didIteratorError9 = false;
|
||||
var _iteratorError9 = undefined;
|
||||
var _iteratorNormalCompletion10 = true;
|
||||
var _didIteratorError10 = false;
|
||||
var _iteratorError10 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator9 = extension.actions[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
|
||||
var action = _step9.value;
|
||||
for (var _iterator10 = extension.actions[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
|
||||
var action = _step10.value;
|
||||
|
||||
_.pull(this.decryptedExtensions, extension);
|
||||
if (action.repeat_mode) {
|
||||
@@ -3096,16 +3111,16 @@ var ExtensionManager = function () {
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError9 = true;
|
||||
_iteratorError9 = err;
|
||||
_didIteratorError10 = true;
|
||||
_iteratorError10 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion9 && _iterator9.return) {
|
||||
_iterator9.return();
|
||||
if (!_iteratorNormalCompletion10 && _iterator10.return) {
|
||||
_iterator10.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError9) {
|
||||
throw _iteratorError9;
|
||||
if (_didIteratorError10) {
|
||||
throw _iteratorError10;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3145,45 +3160,18 @@ var ExtensionManager = function () {
|
||||
}, {
|
||||
key: 'refreshExtensionsFromServer',
|
||||
value: function refreshExtensionsFromServer() {
|
||||
var _iteratorNormalCompletion10 = true;
|
||||
var _didIteratorError10 = false;
|
||||
var _iteratorError10 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator10 = this.enabledRepeatActionUrls[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
|
||||
var url = _step10.value;
|
||||
|
||||
var action = this.actionWithURL(url);
|
||||
if (action) {
|
||||
this.disableRepeatAction(action);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError10 = true;
|
||||
_iteratorError10 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion10 && _iterator10.return) {
|
||||
_iterator10.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError10) {
|
||||
throw _iteratorError10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var _iteratorNormalCompletion11 = true;
|
||||
var _didIteratorError11 = false;
|
||||
var _iteratorError11 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator11 = this.extensions[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
|
||||
var ext = _step11.value;
|
||||
for (var _iterator11 = this.enabledRepeatActionUrls[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
|
||||
var url = _step11.value;
|
||||
|
||||
this.retrieveExtensionFromServer(ext.url, function (extension) {
|
||||
extension.setDirty(true);
|
||||
});
|
||||
var action = this.actionWithURL(url);
|
||||
if (action) {
|
||||
this.disableRepeatAction(action);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError11 = true;
|
||||
@@ -3199,6 +3187,33 @@ var ExtensionManager = function () {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var _iteratorNormalCompletion12 = true;
|
||||
var _didIteratorError12 = false;
|
||||
var _iteratorError12 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator12 = this.extensions[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
||||
var ext = _step12.value;
|
||||
|
||||
this.retrieveExtensionFromServer(ext.url, function (extension) {
|
||||
extension.setDirty(true);
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError12 = true;
|
||||
_iteratorError12 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion12 && _iterator12.return) {
|
||||
_iterator12.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError12) {
|
||||
throw _iteratorError12;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'executeAction',
|
||||
@@ -3439,13 +3454,13 @@ var ModelManager = function () {
|
||||
key: 'mapResponseItemsToLocalModelsOmittingFields',
|
||||
value: function mapResponseItemsToLocalModelsOmittingFields(items, omitFields) {
|
||||
var models = [];
|
||||
var _iteratorNormalCompletion12 = true;
|
||||
var _didIteratorError12 = false;
|
||||
var _iteratorError12 = undefined;
|
||||
var _iteratorNormalCompletion13 = true;
|
||||
var _didIteratorError13 = false;
|
||||
var _iteratorError13 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator12 = items[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
||||
var json_obj = _step12.value;
|
||||
for (var _iterator13 = items[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
|
||||
var json_obj = _step13.value;
|
||||
|
||||
json_obj = _.omit(json_obj, omitFields || []);
|
||||
var item = this.findItem(json_obj["uuid"]);
|
||||
@@ -3472,44 +3487,6 @@ var ModelManager = function () {
|
||||
|
||||
models.push(item);
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError12 = true;
|
||||
_iteratorError12 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion12 && _iterator12.return) {
|
||||
_iterator12.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError12) {
|
||||
throw _iteratorError12;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.notifySyncObserversOfModels(models);
|
||||
|
||||
this.sortItems();
|
||||
return models;
|
||||
}
|
||||
}, {
|
||||
key: 'notifySyncObserversOfModels',
|
||||
value: function notifySyncObserversOfModels(models) {
|
||||
var _iteratorNormalCompletion13 = true;
|
||||
var _didIteratorError13 = false;
|
||||
var _iteratorError13 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator13 = this.itemSyncObservers[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
|
||||
var observer = _step13.value;
|
||||
|
||||
var relevantItems = models.filter(function (item) {
|
||||
return item.content_type == observer.type;
|
||||
});
|
||||
if (relevantItems.length > 0) {
|
||||
observer.callback(relevantItems);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError13 = true;
|
||||
_iteratorError13 = err;
|
||||
@@ -3524,22 +3501,26 @@ var ModelManager = function () {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.notifySyncObserversOfModels(models);
|
||||
|
||||
this.sortItems();
|
||||
return models;
|
||||
}
|
||||
}, {
|
||||
key: 'notifyItemChangeObserversOfModels',
|
||||
value: function notifyItemChangeObserversOfModels(models) {
|
||||
key: 'notifySyncObserversOfModels',
|
||||
value: function notifySyncObserversOfModels(models) {
|
||||
var _iteratorNormalCompletion14 = true;
|
||||
var _didIteratorError14 = false;
|
||||
var _iteratorError14 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator14 = this.itemChangeObservers[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
|
||||
for (var _iterator14 = this.itemSyncObservers[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
|
||||
var observer = _step14.value;
|
||||
|
||||
var relevantItems = models.filter(function (item) {
|
||||
return observer.content_types.includes(item.content_type) || observer.content_types.includes("*");
|
||||
return item.content_type == observer.type;
|
||||
});
|
||||
|
||||
if (relevantItems.length > 0) {
|
||||
observer.callback(relevantItems);
|
||||
}
|
||||
@@ -3559,6 +3540,40 @@ var ModelManager = function () {
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'notifyItemChangeObserversOfModels',
|
||||
value: function notifyItemChangeObserversOfModels(models) {
|
||||
var _iteratorNormalCompletion15 = true;
|
||||
var _didIteratorError15 = false;
|
||||
var _iteratorError15 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator15 = this.itemChangeObservers[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) {
|
||||
var observer = _step15.value;
|
||||
|
||||
var relevantItems = models.filter(function (item) {
|
||||
return observer.content_types.includes(item.content_type) || observer.content_types.includes("*");
|
||||
});
|
||||
|
||||
if (relevantItems.length > 0) {
|
||||
observer.callback(relevantItems);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError15 = true;
|
||||
_iteratorError15 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion15 && _iterator15.return) {
|
||||
_iterator15.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError15) {
|
||||
throw _iteratorError15;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'createItem',
|
||||
value: function createItem(json_obj) {
|
||||
@@ -3620,13 +3635,13 @@ var ModelManager = function () {
|
||||
return;
|
||||
}
|
||||
|
||||
var _iteratorNormalCompletion15 = true;
|
||||
var _didIteratorError15 = false;
|
||||
var _iteratorError15 = undefined;
|
||||
var _iteratorNormalCompletion16 = true;
|
||||
var _didIteratorError16 = false;
|
||||
var _iteratorError16 = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator15 = contentObject.references[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) {
|
||||
var reference = _step15.value;
|
||||
for (var _iterator16 = contentObject.references[Symbol.iterator](), _step16; !(_iteratorNormalCompletion16 = (_step16 = _iterator16.next()).done); _iteratorNormalCompletion16 = true) {
|
||||
var reference = _step16.value;
|
||||
|
||||
var referencedItem = this.findItem(reference.uuid);
|
||||
if (referencedItem) {
|
||||
@@ -3637,16 +3652,16 @@ var ModelManager = function () {
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError15 = true;
|
||||
_iteratorError15 = err;
|
||||
_didIteratorError16 = true;
|
||||
_iteratorError16 = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion15 && _iterator15.return) {
|
||||
_iterator15.return();
|
||||
if (!_iteratorNormalCompletion16 && _iterator16.return) {
|
||||
_iterator16.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError15) {
|
||||
throw _iteratorError15;
|
||||
if (_didIteratorError16) {
|
||||
throw _iteratorError16;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
vendor/assets/javascripts/transpiled.js.map
vendored
2
vendor/assets/javascripts/transpiled.js.map
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user