fix: restore permissions modal
This commit is contained in:
@@ -43,6 +43,7 @@ import {
|
|||||||
MenuRow,
|
MenuRow,
|
||||||
PanelResizer,
|
PanelResizer,
|
||||||
PasswordWizard,
|
PasswordWizard,
|
||||||
|
PermissionsModal,
|
||||||
RevisionPreviewModal,
|
RevisionPreviewModal,
|
||||||
HistoryMenu,
|
HistoryMenu,
|
||||||
SyncResolutionMenu,
|
SyncResolutionMenu,
|
||||||
@@ -138,6 +139,7 @@ const startApplication: StartApplication = async function startApplication(
|
|||||||
.directive('menuRow', () => new MenuRow())
|
.directive('menuRow', () => new MenuRow())
|
||||||
.directive('panelResizer', () => new PanelResizer())
|
.directive('panelResizer', () => new PanelResizer())
|
||||||
.directive('passwordWizard', () => new PasswordWizard())
|
.directive('passwordWizard', () => new PasswordWizard())
|
||||||
|
.directive('permissionsModal', () => new PermissionsModal())
|
||||||
.directive('revisionPreviewModal', () => new RevisionPreviewModal())
|
.directive('revisionPreviewModal', () => new RevisionPreviewModal())
|
||||||
.directive('historyMenu', () => new HistoryMenu())
|
.directive('historyMenu', () => new HistoryMenu())
|
||||||
.directive('syncResolutionMenu', () => new SyncResolutionMenu())
|
.directive('syncResolutionMenu', () => new SyncResolutionMenu())
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export { InputModal } from './inputModal';
|
|||||||
export { MenuRow } from './menuRow';
|
export { MenuRow } from './menuRow';
|
||||||
export { PanelResizer } from './panelResizer';
|
export { PanelResizer } from './panelResizer';
|
||||||
export { PasswordWizard } from './passwordWizard';
|
export { PasswordWizard } from './passwordWizard';
|
||||||
|
export { PermissionsModal } from './permissionsModal';
|
||||||
export { RevisionPreviewModal } from './revisionPreviewModal';
|
export { RevisionPreviewModal } from './revisionPreviewModal';
|
||||||
export { HistoryMenu } from './historyMenu';
|
export { HistoryMenu } from './historyMenu';
|
||||||
export { SyncResolutionMenu } from './syncResolutionMenu';
|
export { SyncResolutionMenu } from './syncResolutionMenu';
|
||||||
|
|||||||
47
app/assets/javascripts/directives/views/permissionsModal.ts
Normal file
47
app/assets/javascripts/directives/views/permissionsModal.ts
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import { WebDirective } from './../../types';
|
||||||
|
import template from '%/directives/permissions-modal.pug';
|
||||||
|
|
||||||
|
class PermissionsModalCtrl {
|
||||||
|
|
||||||
|
$element: JQLite
|
||||||
|
callback!: (success: boolean) => void
|
||||||
|
|
||||||
|
/* @ngInject */
|
||||||
|
constructor($element: JQLite) {
|
||||||
|
this.$element = $element;
|
||||||
|
}
|
||||||
|
|
||||||
|
dismiss() {
|
||||||
|
const elem = this.$element;
|
||||||
|
const scope = elem.scope();
|
||||||
|
scope.$destroy();
|
||||||
|
elem.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
accept() {
|
||||||
|
this.callback(true);
|
||||||
|
this.dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
|
deny() {
|
||||||
|
this.callback(false);
|
||||||
|
this.dismiss();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class PermissionsModal extends WebDirective {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.restrict = 'E';
|
||||||
|
this.template = template;
|
||||||
|
this.controller = PermissionsModalCtrl;
|
||||||
|
this.controllerAs = 'ctrl';
|
||||||
|
this.bindToController = true;
|
||||||
|
this.scope = {
|
||||||
|
show: '=',
|
||||||
|
component: '=',
|
||||||
|
permissionsString: '=',
|
||||||
|
callback: '='
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
26
app/assets/templates/directives/permissions-modal.pug
Normal file
26
app/assets/templates/directives/permissions-modal.pug
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
.sk-modal-background(ng-click='ctrl.deny()')
|
||||||
|
#permissions-modal.sk-modal-content
|
||||||
|
.sn-component
|
||||||
|
.sk-panel
|
||||||
|
.sk-panel-header
|
||||||
|
.sk-panel-header-title Activate Extension
|
||||||
|
a.sk-a.info.close-button(ng-click='ctrl.deny()') Cancel
|
||||||
|
.sk-panel-content
|
||||||
|
.sk-panel-section
|
||||||
|
.sk-panel-row
|
||||||
|
.sk-h2
|
||||||
|
strong {{ctrl.component.name}}
|
||||||
|
| would like to interact with your
|
||||||
|
| {{ctrl.permissionsString}}
|
||||||
|
.sk-panel-row
|
||||||
|
p.sk-p
|
||||||
|
| Extensions use an offline messaging system to communicate. Learn more at
|
||||||
|
a.sk-a.info(
|
||||||
|
href='https://standardnotes.org/permissions',
|
||||||
|
rel='noopener',
|
||||||
|
target='_blank'
|
||||||
|
) https://standardnotes.org/permissions.
|
||||||
|
.sk-panel-footer
|
||||||
|
button.sn-button.info.block.w-full.text-base.py-3(
|
||||||
|
ng-click='ctrl.accept()'
|
||||||
|
) Continue
|
||||||
Reference in New Issue
Block a user