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

@@ -0,0 +1,15 @@
.main-ui-view(
ng-class='self.platformString'
)
#app.app(
ng-class='self.state.appClass',
ng-if='!self.state.needsUnlock && self.state.ready'
)
tags-panel(application='self.application')
notes-panel(application='self.application')
editor-panel(application='self.application')
footer(
ng-if='!self.state.needsUnlock && self.state.ready'
application='self.application'
)

View File

@@ -11,5 +11,6 @@
| {{ctrl.component.name}}
a.sk-a.info.close-button(ng-click="ctrl.dismiss()") Close
component-view.component-view(
component="ctrl.component"
component="ctrl.component",
application='self.application'
)

View File

@@ -46,6 +46,6 @@
| an unlocked application, but do not affect data encryption state.
p.sk-p
| Privileges sync across your other devices; however, note that if you
| require a "Local Passcode" privilege, and another device does not have
| a local passcode set up, the local passcode requirement will be ignored
| require an "Application Passcode" privilege, and another device does not have
| an application passcode set up, the application passcode requirement will be ignored
| on that device.

View File

@@ -23,5 +23,6 @@
) {{ctrl.content.text}}
component-view.component-view(
component="ctrl.editor"
ng-if="ctrl.editor"
ng-if="ctrl.editor",
application='self.application'
)

View File

@@ -165,7 +165,8 @@
callback='self.editorMenuOnSelect',
current-item='self.state.note',
ng-if='self.state.showEditorMenu',
selected-editor='self.state.selectedEditor'
selected-editor='self.state.selectedEditor',
application='self.application'
)
.sk-app-bar-item(
click-outside=`self.setMenuState('showExtensions', false)`,
@@ -176,7 +177,8 @@
.sk-label Actions
actions-menu(
item='self.state.note',
ng-if='self.state.showExtensions'
ng-if='self.state.showExtensions',
application='self.application'
)
.sk-app-bar-item(
click-outside=`self.setMenuState('showSessionHistory', false)`,
@@ -186,7 +188,8 @@
.sk-label Session History
session-history-menu(
item='self.state.note',
ng-if='self.state.showSessionHistory'
ng-if='self.state.showSessionHistory',
application='self.application'
)
#editor-content.editor-content(
ng-if='self.state.noteReady && !self.state.note.errorDecrypting'
@@ -196,14 +199,15 @@
hoverable='true',
min-width='300',
ng-if='self.state.marginResizersEnabled',
on-resize-finish='self.onPanelResizeFinish',
on-resize-finish='self.onPanelResizeFinish()',
panel-id="'editor-content'",
property="'left'"
)
component-view.component-view(
component='self.state.selectedEditor',
ng-if='self.state.selectedEditor',
on-load='self.onEditorLoad'
on-load='self.onEditorLoad',
application='self.application'
)
textarea#note-text-editor.editable(
dir='auto',
@@ -222,7 +226,7 @@
control='self.rightPanelPuppet',
hoverable='true', min-width='300',
ng-if='self.state.marginResizersEnabled',
on-resize-finish='self.onPanelResizeFinish',
on-resize-finish='self.onPanelResizeFinish()',
panel-id="'editor-content'",
property="'right'"
)
@@ -249,5 +253,6 @@
manual-dealloc='true',
ng-if='component.active',
ng-repeat='component in self.state.componentStack',
ng-show='!component.hidden'
ng-show='!component.hidden',
application='self.application'
)

View File

@@ -2,7 +2,7 @@
#footer-bar.sk-app-bar.no-edges.no-bottom-edge
.left
.sk-app-bar-item(
click-outside='ctrl.clickOutsideAccountMenu()',
click-outside='ctrl.clickOutsideAccountMenu()',
is-open='ctrl.showAccountMenu',
ng-click='ctrl.accountMenuPressed()'
)
@@ -13,9 +13,10 @@
.sk-app-bar-item-column
.sk-label.title(ng-class='{red: ctrl.error}') Account
account-menu(
close-function='ctrl.closeAccountMenu',
close-function='ctrl.closeAccountMenu()',
ng-click='$event.stopPropagation()',
ng-if='ctrl.showAccountMenu',
ng-if='ctrl.showAccountMenu',
application='ctrl.application'
)
.sk-app-bar-item
a.no-decoration.sk-label.title(
@@ -31,21 +32,22 @@
component-modal(
component='room',
ng-if='room.showRoom',
on-dismiss='ctrl.onRoomDismiss'
on-dismiss='ctrl.onRoomDismiss()',
application='self.application'
)
.center
.sk-app-bar-item(ng-show='ctrl.arbitraryStatusMessage')
.sk-app-bar-item(ng-if='ctrl.arbitraryStatusMessage')
.sk-app-bar-item-column
span.neutral.sk-label {{ctrl.arbitraryStatusMessage}}
.right
.sk-app-bar-item(
ng-click='ctrl.openSecurityUpdate()',
ng-show='ctrl.state.dataUpgradeAvailable'
ng-if='ctrl.state.dataUpgradeAvailable'
)
span.success.sk-label Encryption upgrade available.
.sk-app-bar-item(
ng-click='ctrl.clickedNewUpdateAnnouncement()',
ng-show='ctrl.newUpdateAvailable == true'
ng-if='ctrl.newUpdateAvailable == true'
)
span.info.sk-label New update available.
.sk-app-bar-item.no-pointer(
@@ -59,9 +61,10 @@
)
.sk-label.warning(ng-if='ctrl.state.outOfSync') Potentially Out of Sync
sync-resolution-menu(
close-function='ctrl.toggleSyncResolutionMenu',
close-function='ctrl.toggleSyncResolutionMenu()',
ng-click='$event.stopPropagation();',
ng-if='ctrl.showSyncResolution'
ng-if='ctrl.showSyncResolution',
application='self.application'
)
.sk-app-bar-item(ng-if='ctrl.lastSyncDate && ctrl.isRefreshing')
.sk-spinner.small

View File

@@ -26,7 +26,7 @@
) Forgot?
div(ng-if='ctrl.formData.showRecovery')
.sk-p
| If you forgot your local passcode, your only option is to clear
| If you forgot your application passcode, your only option is to clear
| your local data from this device and sign back in to your account.
.sk-panel-row
a.sk-a.danger.center-text(

View File

@@ -145,6 +145,6 @@
control="self.panelPuppet"
default-width="300"
hoverable="true"
on-resize-finish="self.onPanelResize"
on-resize-finish="self.onPanelResize()"
panel-id="'notes-column'"
)

View File

@@ -1,14 +1,4 @@
.main-ui-view(
ng-class='self.platformString'
)
#app.app(
ng-class='self.state.appClass',
ng-if='!self.state.needsUnlock && self.state.ready'
)
tags-panel
notes-panel
editor-panel
footer(
ng-if='!self.state.needsUnlock && self.state.ready'
)
application-view(
ng-repeat='application in self.applications',
application='application'
)

View File

@@ -1,6 +1,9 @@
#tags-column.sn-component.section.tags(aria-label='Tags')
.component-view-container(ng-if='self.component.active')
component-view.component-view(component='self.component')
component-view.component-view(
component='self.component',
application='self.application'
)
#tags-content.content(ng-if='!(self.component && self.component.active)')
.tags-title-section.section-title-bar
.section-title-bar-header
@@ -60,6 +63,6 @@
control='self.panelPuppet',
default-width='150',
hoverable='true',
on-resize-finish='self.onPanelResize',
on-resize-finish='self.onPanelResize()',
panel-id="'tags-column'"
)