ApplicationManager and better memory management

This commit is contained in:
Mo Bitar
2020-03-23 19:59:55 -05:00
parent 7dc3dab90b
commit ee7cb1fce6
55 changed files with 36786 additions and 3046 deletions

View File

@@ -8,24 +8,21 @@ class RevisionPreviewModalCtrl {
/* @ngInject */
constructor(
$element,
$scope,
$timeout,
application
$timeout
) {
this.$element = $element;
this.$scope = $scope;
this.$timeout = $timeout;
this.application = application;
$scope.$on('$destroy', () => {
if (this.identifier) {
this.application.componentManager.deregisterHandler(this.identifier);
}
});
}
$onInit() {
this.configure();
}
$onDestroy() {
if (this.identifier) {
this.application.componentManager.deregisterHandler(this.identifier);
}
}
async configure() {
this.note = await this.application.createTemplateItem({
@@ -110,8 +107,10 @@ class RevisionPreviewModalCtrl {
}
dismiss() {
this.$element.remove();
this.$scope.$destroy();
const elem = this.$element;
const scope = elem.scope();
scope.$destroy();
elem.remove();
}
}
@@ -124,7 +123,8 @@ export class RevisionPreviewModal {
this.bindToController = true;
this.scope = {
uuid: '=',
content: '='
content: '=',
application: '='
};
}
}