Advertisement
Guest User

kildekode

a guest
Aug 9th, 2016
423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 86.77 KB | None | 0 0
  1.  
  2. <!DOCTYPE html><html data-version=v20.6.1-0-g5a787b0/mail.one.com lang=en_gb><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta http-equiv=X-Frame-Options content=SAMEORIGIN><meta name=format-detection content="telephone=no"><title data-bind=text:documentTitle>Webmail</title><link rel=icon type=image/png href=//mail-static.cdn-one.com/one_16x16.55b7a6287a.png sizes=16x16><link rel=icon type=image/png href=//mail-static.cdn-one.com/one_24x24.cbd129abb1.png sizes=24x24><link rel=icon type=image/png href=//mail-static.cdn-one.com/one_32x32.48fd083872.png sizes=32x32><link rel=icon type=image/png href=//mail-static.cdn-one.com/one_48x48.39589751e2.png sizes=48x48><link rel="shortcut icon" type=image/vnd.microsoft.icon href=//mail-static.cdn-one.com/favicon.87bddfd6f8.ico><link rel=apple-touch-icon-precomposed href=//mail-static.cdn-one.com/iOSiconWebmail.890bde922f.png><link rel=apple-touch-icon-precomposed sizes=72x72 href=//mail-static.cdn-one.com/iOSiconWebmail.28ce49e2d7.png><link rel=apple-touch-icon-precomposed sizes=114x114 href=//mail-static.cdn-one.com/iOSiconWebmail.629a1fb7ca.png><link rel=apple-touch-icon-precomposed sizes=144x144 href=//mail-static.cdn-one.com/iOSiconWebmail.119b8860db.png><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=stylesheet href=//mail-static.cdn-one.com/bundle-5844.fd0bb417ac.css crossorigin=anonymous integrity="sha256-xGaPq4cORGNEB5HMiJnBwdcd4lCl9NvevRrOGMX4f7U="></head><body data-keydomain=---><div id=loadingScreen><p class=loadingText>Loading...</p></div><div class="application layout" data-bind="template:{
  3. name:'application',
  4. 'if':isInitialized
  5. }"></div><script src=//mail-static.cdn-one.com/bundle-5846.1d7dda9c16.js crossorigin=anonymous integrity="sha256-nSGNONqPM3ZufPUUlgPHbZz+04ecLTSSHwDZ/mBGb/s="></script><script src=//mail-static.cdn-one.com/bundle-5848.078f920e50.js crossorigin=anonymous integrity="sha256-U8NC4cBWIFeXGOv16C1H/85GtOUaMAZlf+ITuSNFhoU="></script><script type=text/html id=application><div class="notification" data-bind="notification:notification"></div><div class="errormsg" data-bind="errormsg:errormsg"></div><div class="layout container" data-keydomain="listPanel" data-bind="css:{'calendar-quick-look':calendarQuickLookEnabled}"><div class="layout top" data-bind="template:{name:'onebar'}"></div><div class="layout center app" data-bind="css:{
  6. 'sidebar-collapsed':layout.sidebar.collapsed(),
  7. 'sidebar-expanded':!layout.sidebar.collapsed(),
  8. animated:layout.sidebar.animated
  9. }"><div class="layout left sidebar" data-bind="template:'sidebar',
  10. afterRender:setupSidebar,
  11. keybindDomain:'sidebar'" tabindex="-1"></div><!--ko 'if':layout.currentLayout()==='splitView'--><div class="layout center split-view" data-bind="splitView:layout.splitView"></div><!--/ko--><!--ko 'if':layout.currentLayout()==='stackView'--><div class="layout center" data-bind="css:{'show-mail-tabs-bottom':mailTabs.tabs().length&gt;0&amp;&amp;layout.isStackView()}"><div class="layout center stack-view" data-bind="template:{name:layout.stackView.currentView()}"></div><!--ko 'if':mailTabs.tabs().length>0&&layout.isStackView()--><div class="layout bottom mail-tabs-panel" data-bind="template:{
  12. name:'mailTabs',
  13. data:mailTabs,
  14. 'if':mailTabs
  15. }"></div><!--/ko--></div><!--/ko--><one-calendar-slide-in params="state:state,
  16. pageNavigator:pageNavigator,
  17. actionExecutor:actionExecutor,
  18. errorHandler:errorHandler" data-bind="keybindDomain:'calendar-slide-in'" tabindex="-1"></one-calendar-slide-in></div></div><!--ko with:welcome--><sequence-dialog params="show:newUserDialogVisible,
  19. titleIcon:newUserIcon,
  20. title:newUserTitle,
  21. pages:newUserPages,
  22. finishLabel:settingsLabel,
  23. nextLabel:nextLabel,
  24. finishHandler:gotoSettings,
  25. topColor:'yellow'"></sequence-dialog> <sequence-dialog params="show:newUIDialogVisible,
  26. titleIcon:newUIIcon,
  27. title:newUITitle,
  28. pages:newUIPages,
  29. finishLabel:closeLabel,
  30. nextLabel:nextLabel,
  31. finishHandler:savePrefs,
  32. topColor:'aqua'"></sequence-dialog> <!--/ko--><!--ko if:mailListView.showConfirmationDialog--><confirmation-dialog params="show:mailListView.blockSenderDialog,
  33. topHeight:'6px',
  34. buttons:[
  35. {
  36. label:mailListView.cancelLabel,
  37. keepOpen:false
  38. },
  39. {
  40. label:mailListView.confirmLabel,
  41. className:'primary',
  42. callback:mailListView.confirmBlockingSender
  43. }
  44. ],
  45. cornerCloser:true,
  46. content:mailListView.dialogueContentOfBlockedSenders"></confirmation-dialog> <confirmation-dialog params="show:mailListView.showDialogWithAlreadyBlockedSenders,
  47. topHeight:'6px',
  48. buttons:[{
  49. label:mailListView.closeLabel,
  50. keepOpen:false,
  51. className:'primary'
  52. }],
  53. cornerCloser:true,
  54. content:mailListView.dialogueContentOfBlockedSenders"></confirmation-dialog> <!--/ko--></script><script type=text/html id=listPanel><div class="list layout" data-bind="with:mailListView,
  55. keybindDomain:{
  56. name:'listPanel',
  57. firstFocus:'.mail--list',
  58. lock:true,
  59. noDispose:true
  60. }"><div class="layout top maillist-toolbar one-toolbar-style" data-bind="template:'mailListToolbar'"></div><div class="layout center list-with-toolbar"><div class="layout top"><div class="mail--folder-list--search"><div class="form-search one-search-with-icon" data-title="Search in selected folder" data-tooltip-placement="right"><span class="one-search-box"><i data-bind="click:querySearch" class="icon-search icon-large"></i> <input type="text" data-bind="value:searchInputValue,
  61. onKeyEnter:querySearch,
  62. hasfocus:searchFocus,
  63. attr:{placeholder:searchPlaceholder},
  64. css:{hasSearchQuery:hasSearchQuery},
  65. keybindDomain:{
  66. name:'listSearch',
  67. noDispose:true
  68. }" class="one-search-field"> <i data-bind="visible:hasSearchQuery,
  69. click:resetSearchQuery" class="icon-remove icon-large"></i></span></div></div><div class="one-toolbar-style selection-bar" data-bind="template:'mailListSelectionBar',
  70. css:{'wide-list':layout.wideList()}"></div></div><!--ko 'if':page().length()>0--><div class="mailList layout center"><div class="mail--list knockout-list" data-bind="template:{
  71. name:'mailListItem',
  72. foreach:currentMailList
  73. },
  74. selection:{
  75. selection:selection,
  76. focused:focused,
  77. anchor:anchor,
  78. toggleClass:'checkbutton'
  79. },
  80. afterRender:setupMailList,
  81. event:{blur:focusIsLost()}" tabindex="-1"></div><!--ko 'ifnot':page().loaded()--><div class="list-items-loading loading-overlay" data-bind="style:{height:$root.loadingPlaceholderHeight()}"><div></div></div><!--/ko--></div><!--/ko--><!--ko 'ifnot':page().length()>0--><div class="layout center centeredMessage"><h1 data-bind="visible:!isFolderEmpty()&amp;&amp;page().loaded()">No mails found</h1><h1 data-bind="visible:isFolderEmpty()&amp;&amp;page().loaded()">The folder is empty</h1></div><!--/ko--><div class="layout center loading-overlay solid" data-bind="if:!search().isReady(),
  82. visible:!search().isReady()"><div></div></div></div></div></script><script type=text/html id=contentPanel><div class="content-panel" data-bind="css:{'show-mail-tabs-bottom':mailTabs.tabs().length&gt;0&amp;&amp;layout.isSplitView()}"><div class="mail layout center" data-bind="template:{
  83. name:layout.contentPanel.template(),
  84. data:layout.contentPanel.viewModel,
  85. afterRender:layout.contentPanel.afterRender
  86. }"></div><!--ko 'if':mailTabs.tabs().length>0&&layout.isSplitView()--><div class="layout bottom mail-tabs-panel" data-bind="template:{
  87. name:'mailTabs',
  88. data:mailTabs,
  89. 'if':mailTabs
  90. }"></div><!--/ko--></div></script><script type=text/html id=mailTabs><div class="mail-tabs layout" data-bind="foreach:{
  91. data:tabs,
  92. afterAdd:showTabAnimation,
  93. beforeRemove:hideTabAnimation
  94. },
  95. afterRender:setup"><div class="mail-tab" data-bind="css:{
  96. flash:flash,
  97. active:$parent.activeTab()===$data,
  98. sending:sending,
  99. failedSending:failedSending,
  100. failedSaving:failedSaving
  101. },
  102. click:$parent.toggleTab,
  103. trackClick:[
  104. 'navigation',
  105. 'open tab'
  106. ]"><div class="mail-tab-content"><div class="mail-tab-icon"></div><!--ko ifnot:subject--><span class="mail-tab-label">(No subject)</span> <!--/ko--><!--ko 'if':subject--><span class="mail-tab-label" data-bind="text:subject"></span> <!--/ko--><button class="mail-tab-remove" data-bind="click:$parent.remove.bind($parent),
  107. clickBubble:false,
  108. trackClick:[
  109. 'navigation',
  110. 'close tab'
  111. ]" tabindex="-1"></button><div class="mail-tab-sending-icon icon-spinner"></div><div class="mail-tab-failed-sending-icon icon-warning" data-title="The mail could not be sent"></div><div class="mail-tab-failed-saving-icon icon-warning" data-title="The draft could not be saved"></div></div></div></div></script><script type=text/html id=moveToFolder><div class="moveToFolder" data-keydomain="---"><div class="item"><input type="text" id="MoveToFolderFilter" data-bind="value:filterBy,
  112. valueUpdate:'keyup',
  113. autocomplete:{
  114. data:folders,
  115. format:format,
  116. maxItems:maxItems,
  117. minLength:0,
  118. onSelect:onSelect,
  119. target:'moveToFolderList'
  120. },
  121. afterRender:afterRender" placeholder="Filter folders..."></div><div class="autocomplete-folderList" id="moveToFolderList"></div></div></script><script type=text/html id=mailListToolbar><p class="maillist-toolbar--label" data-bind="visible:!hasSearchQuery(),
  122. text:folder()?folder().translatedName():''"></p><p data-bind="visible:hasSearchQuery()" class="maillist-toolbar--label search-query">Search <span class="label" data-bind="text:folder()?folder().translatedName():''"></span> for: <span class="searchTerm" data-bind="text:'“'+searchQuery()+'”'"></span></p><div class="maillist-toolbar--tools"><!--ko 'if':layout.isStackView()&&hasSelection()--><toolbar params="narrow:true,
  123. secondaries:minorButtons,
  124. tertiaries:moreMenu,
  125. moreLabel:'More'"></toolbar> <!--/ko--><pagination style="vertical-align:22px" params="page:paginationConfig.page,
  126. pageLength:paginationConfig.pageLength,
  127. fullLength:paginationConfig.fullLength,
  128. goto:paginationConfig.goto,
  129. loaded:paginationConfig.loaded"></pagination></div></script><script type=text/html id=mailListSelectionBar><div class="selection-bar--item selection-bar--select-menu"><div class="selection-bar--button dropdown-toggle" data-bind="dropdownTemplate:{template:'MailListSelectionBarSelect'}" href="#" data-title="Set selection"><span class="icon-checkbox checked"></span> <span class="caret"></span></div></div><div class="selection-bar--item selection-bar--sort-menu"><div class="selection-bar--button dropdown-toggle" data-bind="dropdownTemplate:{template:'MailListSelectionBarSort'}" href="#" data-title="Sort shown mails"><span data-bind="visible:search().sortKey==='ARRIVAL'">Sort: Date</span> <!--ko 'if':$root.folderListView.selected()&&$root.folderListView.selected().isOutgoingFolder()--><span data-bind="visible:search().sortKey==='TO'">Sort: To</span> <!--/ko--><!--ko ifnot:$root.folderListView.selected()&&$root.folderListView.selected().isOutgoingFolder()--><span data-bind="visible:search().sortKey==='FROM'">Sort: From</span> <!--/ko--><span data-bind="visible:search().sortKey==='SUBJECT'">Sort: Subject</span> <b class="caret"></b></div></div><div class="selection-bar--item selection-bar--filter-menu"><div class="selection-bar--button dropdown-toggle" data-bind="dropdownTemplate:{
  130. template:'MailListSelectionBarFilter',
  131. positioning:{horizontal:'inside-right'}
  132. }" href="#" data-title="Filter shown mails"><span data-bind="visible:search().viewFilter==='ALL'">Show: All</span> <span data-bind="visible:search().viewFilter==='UNSEEN'">Show: Unread</span> <span data-bind="visible:search().viewFilter==='FLAGGED'">Show: With star</span> <b class="caret"></b></div></div></script><script type=text/html id=mailListItem><div class="list-item draggable" data-bind="css:{
  133. unseen:!seen(),
  134. answered:answered,
  135. forwarded:forwarded,
  136. selected:selected,
  137. focused:focused,
  138. flagged:flagged,
  139. attachment:hasAttachments,
  140. dragging:dragging,
  141. 'wide-list':$root.layout.wideList()
  142. },
  143. dragZone:{
  144. name:'mail',
  145. data:{mail:$data},
  146. element:'mail-drag-element-template',
  147. dragStart:$root.dragMailsStart.bind($root),
  148. dragEnd:$root.dragMailsEnd.bind($root)
  149. }"><div class="focus-indicator"></div><div class="draghandle" data-title="Drag email"></div><button class="checkbutton" tabindex="-1" autocomplete="off" value="" hidefocus="true" role="checkbox" data-title="Select/Deselect"><i class="check"></i></button> <i class="read" data-title="Toggle read/unread"></i> <i class="star" data-title="Toggle starred"></i><div class="layout center"> <!--ko 'if':$parent.folder()&&$parent.folder().isOutgoingFolder()--><div data-bind="css:{'layout left':$root.layout.wideList()}" class="to" visible="">To: <span data-bind="highlightText:{
  150. text:to.toDisplayString(),
  151. pattern:$parent.toRegex,
  152. className:'searchTerm'
  153. }"></span></div><!--/ko--><!--ko ifnot:$parent.folder()&&$parent.folder().isOutgoingFolder()--><div data-bind="highlightText:{
  154. text:from.toDisplayString(),
  155. pattern:$parent.fromRegex,
  156. className:'searchTerm'
  157. },
  158. css:{'layout left':$root.layout.wideList()}" class="from" visible=""></div><!--/ko--><div data-bind="highlightText:{
  159. text:displaySubject(),
  160. pattern:$parent.subjectRegex,
  161. className:'searchTerm'
  162. },
  163. css:{'layout center':$root.layout.wideList()}" class="subject"></div></div><div class="layout right"><!--ko ifnot:$root.layout.wideList()--><div data-bind="formatDate:{
  164. value:arrivalDate,
  165. formatId:'Hm/shortDate'
  166. }" class="date"></div><!--/ko--><!--ko 'if':sending--><i class="icon-spinner"></i> <!--/ko--><i class="answered" data-title="Replied"></i> <i class="forwarded" data-title="Forwarded"></i> <i class="attachment" data-title="Has attachment"></i> <!--ko 'if':failedSaving()&&$parent.folder().isDraftFolder()--><i class="failed" data-title="Draft has not been saved"></i> <!--/ko--><!--ko 'if':failedSending()&&$parent.folder().supportResending()--><i class="failed" data-title="Mail has not been sent"></i> <!--/ko--><!--ko 'if':$root.layout.wideList()--><div data-bind="formatDate:{
  167. value:arrivalDate,
  168. formatId:'Hm/shortDate'
  169. }" class="date"></div><!--/ko--></div></div></script><script type=text/html id=selection><!--ko with:$root.mailListView--><div class="layout top content-toolbar one-toolbar-style"><toolbar params="narrow:layout.isNarrowView,
  170. secondaries:minorButtons,
  171. tertiaries:moreMenu,
  172. moreLabel:'More'"></toolbar></div><div class="layout center centeredMessage" data-bind="css:{'aLittleLower':page().loaded()&amp;&amp;page().length()&lt;=0}"><h1 data-bind="visible:!hasSelection()">No email selected</h1><h1 data-bind="visible:hasSelection()"><card-stack params="template:'mail-selection-icon',
  173. data:selection"></card-stack> <br> <span data-bind="text:inter.trQuantity({
  174. one:'{0} mail selected',
  175. other:'{0} mails selected'
  176. },selection().length)"></span></h1></div><!--/ko--></script><script type=text/html id=sidebar><div class="layout folder one-sidebar" data-bind="css:{
  177. 'failed-drafts':mailTabs.hasFailedDrafts(),
  178. 'has-unsent-mails':hasUnsentMails
  179. },
  180. dragEvents:{
  181. accepts:[
  182. 'folder',
  183. 'mail'
  184. ],
  185. dragLeave:layout.sidebar.leave,
  186. dragEnter:expandIfCollapsed.bind($root)
  187. }"><div class="layout top one-toolbar-style"><div class="one-button-style--primary one-new-mail" data-bind="click:newMail,
  188. trackClick:[
  189. 'navigation',
  190. 'compose mail'
  191. ]"><span class="icon-write compose-button-icon"></span><span class="compose-button-label">Write Mail</span></div></div><div class="layout center folder-list" data-bind="dropZone:{
  192. accepts:'folder',
  193. dragEnter:folderListView.dragEnterOnInbox.bind(folderListView),
  194. drop:folderListView.dropOnInbox.bind(folderListView)
  195. }"><div class="layout center one-sidebar--list" data-bind="scrollableOnDragOver:[
  196. 'folder',
  197. 'mail'
  198. ]"><!--ko template:{
  199. name:'folderList',
  200. data:folderListView
  201. }--><!--/ko--></div></div><div class="layout center loading-overlay solid" data-bind="if:state.folders.loading()&amp;&amp;!layout.sidebar.collapsed(),
  202. visible:state.folders.loading()&amp;&amp;!layout.sidebar.collapsed()"><div></div></div><div class="layout bottom one-sidebar--options dropup"><button tabindex="-1" data-bind="visible:!layout.verySmall(),
  203. dropdownTemplate:{
  204. template:'SidebarLayoutDropdown',
  205. positioning:{vertical:'outside-top'}
  206. }" data-tooltip-placement="right" data-title="Select layout"><span class="icon-layout-open-horizontal" data-bind="visible:layout.isSplitView()&amp;&amp;layout.splitView.horizontal()"></span> <span class="icon-layout-open-split" data-bind="visible:layout.isSplitView()&amp;&amp;!layout.splitView.horizontal()"></span> <span class="icon-layout-open-stack" data-bind="visible:layout.isStackView()"></span></button> <button tabindex="-1" class="middle-button" data-bind="popupTemplate:{
  207. template:'keybindings',
  208. positioning:{
  209. vertical:'outside-top',
  210. horizontal:'inside-left'
  211. },
  212. className:'legendPopup',
  213. data:$root.getKeybindingLegend(),
  214. openState:$root.showKeyShortcuts
  215. }"><i class="icon-keyboard"></i></button> <button tabindex="-1" class="right-button" data-bind="click:folderListView.refreshFolders.bind(folderListView,false),
  216. trackClick:[
  217. 'mail list',
  218. 'refresh'
  219. ]" data-title="Get new mails" data-tooltip-placement="right"><i class="icon-refresh icon-large"></i></button></div></div></script><script type=text/html id=folderList><div data-bind="dropZone:ignoreDrop,
  220. css:{'editing-folder':editing.folder}"><div data-bind="template:{
  221. name:'folderListItem',
  222. foreach:state.folders.system
  223. },
  224. selection:{
  225. data:state.folders.list,
  226. selection:selection,
  227. mode:'single'
  228. },
  229. afterRender:setupFolderList"></div><!--ko ifnot:collapsed--><div class="one-sidebar--heading" data-bind="dropZone:{
  230. accepts:'folder',
  231. dragEnter:dragEnterOnInbox.bind($data),
  232. drop:dropOnInbox.bind($data)
  233. }"><span class="one-sidebar--heading--label">Folders</span></div><div class="one-sidebar--list-item folder--blank-slate" data-bind="leftMouseDown:createCustomFolder">Create new folder<div class="one-sidebar--list-item--fade"> <button class="icon-add-item"></button></div></div><!--/ko--><div data-bind="template:{
  234. name:'folderListItem',
  235. foreach:state.folders.other
  236. },
  237. selection:{
  238. data:state.folders.list,
  239. selection:selection,
  240. mode:'single'
  241. },
  242. afterRender:setupFolderList"></div></div><div data-bind="click:layout.sidebar.expand,
  243. css:{active:customSelected()}" data-title="Folders" data-tooltip-placement="right" class="one-sidebar--list-item folder-list--custom-folders"><div class="folder-label"><i class="icon-folders"></i></div></div></script><script type=text/html id=folderListItem><div data-bind="css:{
  244. active:selected,
  245. indicator:indicator(),
  246. 'with-options':!isInbox(),
  247. customFolder:isCustomFolder(),
  248. hidden:hidden(),
  249. animated:animated(),
  250. dragging:dragging
  251. },
  252. dropZone:{
  253. accepts:[
  254. 'folder',
  255. 'mail'
  256. ],
  257. drop:$parent.dropOnFolder.bind($parent),
  258. dragEnter:$parent.dragEnterElement.bind($parent),
  259. dragLeave:$parent.dragLeaveElement.bind($parent)
  260. },
  261. dragZone:{
  262. name:'folder',
  263. element:'folder-drag-element-template',
  264. data:{folder:$data},
  265. dragStart:$parent.dragStart.bind($parent),
  266. dragEnd:$parent.dragEnd.bind($parent)
  267. },
  268. attr:{'data-title':label}" data-tooltip-placement="right" class="one-sidebar--list-item"><!--ko 'ifnot':$parent.editing.folder()===$data--><div class="one-sidebar--list-item--fade"><button tabindex="-1" class="one-sidebar--list-item--options icon-cog" data-bind="dropdownTemplate:{
  269. template:'folderListItemDropdown',
  270. beforeOpen:$parent.onMenuOpen.bind($parent),
  271. beforeClose:$parent.onMenuClose.bind($parent),
  272. positioning:{horizontal:'inside-right'}
  273. }"></button><div class="one-sidebar--list-item--indicator" data-bind="text:indicator()||'',
  274. css:{'unsent-warning':id()==='INBOX.Sent'}"></div></div><!--/ko--><div class="folder-label" data-bind="style:{marginLeft:depth()*10+'px'},
  275. listItemError:{
  276. data:$parent.editing.errorMessage,
  277. openState:ko.computed(function(){
  278. return $parent.editing.folder()===$data&amp;&amp;$parent.editing.showError();
  279. })
  280. }"><!--ko 'if':collapsed()||collapsable()--><button class="folder-toggle" data-bind="text:collapsed()?'+':'−'">+</button> <!--/ko--><i data-bind="css:iconClass" class="one-sidebar--list-item--icon"></i> <!--ko 'if':$parent.editing.folder()===$data--><rename-editor class="folder-list--input" params="value:$parent.editing.name,
  281. commit:$parent.commitEdit.bind($parent),
  282. cancel:$parent.cancelEdit.bind($parent),
  283. blur:$parent.onRenameBlur.bind($parent),
  284. style:{width:150-depth()*10+'px'},
  285. attr:{placeholder:'Folder name'}"></rename-editor> <!--/ko--><!--ko 'ifnot':$parent.editing.folder()===$data--><span data-bind="text:translatedName" class="folder-name"></span> <!--/ko--></div></div></script><script type=text/html id=folderListItemDropdown><ul class="popupDropdown"><li class="dropdown-item" data-bind="visible:supportRename(),
  286. click:$parent.renameFolder.bind($parent),
  287. trackClick:[
  288. 'folder list',
  289. 'rename folder'
  290. ]">Rename folder</li> <li class="dropdown-item" data-bind="visible:supportCreateSubfolder(),
  291. click:$parent.createSubfolder.bind($parent),
  292. trackClick:[
  293. 'folder list',
  294. 'create subfolder'
  295. ]">Create subfolder</li> <li class="dropdown-item" data-bind="visible:supportDelete(),
  296. click:$parent.deleteFolder.bind($parent),
  297. trackClick:[
  298. 'folder list',
  299. 'delete folder'
  300. ]">Delete folder</li> <li class="dropdown-item" data-bind="visible:supportMoveToTrash(),
  301. click:$parent.moveToTrash.bind($parent),
  302. trackClick:[
  303. 'folder list',
  304. 'move to trash'
  305. ]">Move to trash</li> <li class="dropdown-item" data-bind="visible:supportSpamToTrash(),
  306. click:$parent.moveSpamToTrash.bind($parent),
  307. trackClick:[
  308. 'folder list',
  309. 'spam to trash'
  310. ]">Move spam to trash</li> <li class="dropdown-item" data-bind="visible:supportEmptyFolder(),
  311. click:$parent.emptyFolder.bind($parent),
  312. trackClick:[
  313. 'folder list',
  314. 'empty trash'
  315. ]">Empty trash</li></ul></script><script type=text/html id=onebar><div class="one-bar" data-bind="unselectable:true"><div class="one-bar--logo"><a class="one-bar--logo--link" href="/"></a></div><ul class="one-bar--controls"><li class="one-bar--user one-bar--controls--item"><span data-bind="visible:state.displayUser" class="one-bar--user--avatar"></span><span data-bind="text:state.displayUser">Not logged in</span></li> <li class="localeSelector btn-group dropdown one-bar--controls--item" data-bind="dropdownTemplate:{
  316. template:'onebarLanguageDropdown',
  317. positioning:{horizontal:'inside-right'}
  318. }"><span class="dropdown-toggle"><span data-bind="text:localeSwitcher.getLanguage('en_gb').displayName"></span> <b class="caret"></b></span></li> <li class="one-bar--controls--item"><a href="#" data-bind="click:logout,
  319. trackClick:[
  320. 'action',
  321. 'log out'
  322. ]" class="one-bar--controls--item--link">Log out</a></li></ul><ul class="one-bar--applications"><li data-bind="css:{active:application==='webmail'}" class="one-bar--applications--item"><a href="/" class="one-bar--applications--item--link">Mail</a></li> <li data-bind="css:{active:application==='calendar'}" class="one-bar--applications--item"><a href="/calendar" class="one-bar--applications--item--link">Calendar</a></li> <li data-bind="css:{active:application==='contacts'}" class="one-bar--applications--item"><a href="/contacts" class="one-bar--applications--item--link">Contacts</a></li> <li data-bind="css:{active:application==='settings'}" class="one-bar--applications--item"><a href="/settings" class="one-bar--applications--item--link">Settings</a></li></ul></div></script><script type=text/html id=toolbar><!--ko 'if':layout.isStackView()||layout.mailList.visible()--><div class="one-toolbar-item" data-bind="visible:hasSelection()"><button class="one-toolbar-button no-border-button icon-button" data-bind="popupTemplate:moveToFolder"><span class="icon-folder"></span> Move</button></div><div class="one-toolbar-item" data-bind="visible:hasSelection()"><button class="one-toolbar-button no-border-button icon-button" data-bind="click:deleteSelectedMails,
  323. trackClick:[
  324. 'mail list',
  325. 'delete mails',
  326. 'count',
  327. selection().length
  328. ]"><span class="icon-delete"></span> Delete</button></div><!--ko 'if':$root.mailListView.selection().length>0--><div class="one-toolbar-item dropdown-toggle" data-bind="dropdownTemplate:{
  329. template:'toolbarMoreDropdown',
  330. openState:shouldBeOpened,
  331. afterClose:onPopupCloseEvent,
  332. afterOpen:onPopupOpenEvent,
  333. positioning:{
  334. horizontal:'inside-right',
  335. vertical:'outside-bottom'
  336. }
  337. }"><button class="one-toolbar-button no-border-button" href="#">More <span class="caret"></span></button></div><!--/ko--><!--/ko--></script><script type=text/html id=keybindings><div class="keybinds-legend--close"><span class="icon-remove" data-bind="click:close"></span></div><div class="keybinds-legend"><h2 class="keybinds-legend--header" data-bind="text:header"></h2><!--ko if:enabled--><hr class="keybinds-legend--spacer"><table class="keybinds-legend--table"><tbody><tr><td></td><th class="keybinds-legend--table-header">Compose view</th></tr><!--ko foreach:composeKeys--><tr><td class="keybinds-legend--table-key" data-bind="text:key"></td><td class="keybinds-legend--table-effect" data-bind="text:effect"></td></tr><!--/ko--><tr><td></td><th class="keybinds-legend--table-header">List view</th></tr><!--ko foreach:listKeys--><tr><td class="keybinds-legend--table-key" data-bind="text:key"></td><td class="keybinds-legend--table-effect" data-bind="text:effect"></td></tr><!--/ko--></tbody></table><!--/ko--></div></script><script type=text/html id=view><div class="layout top mailView-toolbar one-toolbar-style" data-keydomain="mailView"><toolbar params="narrow:narrowToolbar,
  338. back:backButton,
  339. primaries:mainButtons,
  340. secondaries:parentView.minorButtons,
  341. tertiaries:moreMenu,
  342. moreLabel:'More'" data-bind="afterRender:layout.setDimensions"></toolbar></div><div class="layout center mailView" data-bind="keybindDomain:{
  343. name:'mailView',
  344. firstFocus:'',
  345. noDispose:true
  346. },
  347. afterRender:setupDesktopView" tabindex="-1"><div class="mailView--content-section mailView--subject"><h1 class="text" data-bind="text:mail.displaySubject"></h1><p class="meta"><!--ko 'if':mail.date--><span data-bind="formatDate:{
  348. value:mail.date,
  349. formatId:'longDate'
  350. }"></span> <span class="seperator"></span> <span data-bind="formatDate:{
  351. value:mail.date,
  352. formatId:'shortTime'
  353. }"></span> <!--ko 'if':mail.size--><span class="seperator"></span> <!--/ko--><!--/ko--><!--ko 'if':mail.size>0--><span data-bind="text:mail.displaySize"></span> <!--/ko--></p></div><!--ko 'if':isMaybePhishing()--><div class="mailView--content-section mailView--phishing-warning">This mail might be a phishing mail. Be careful of clicking any links or replying with personal information. <a class="mailView--close-warning" data-bind="click:disregardSPF">×</a></div><!--/ko--><div class="mailView--label">From:</div><div class="mailView--content-section mailView--contacts"><div class="value"><truncated-list params="template:'recipient-list-item',
  354. data:from,
  355. truncateAt:truncateAt(from)"></truncated-list> <!--ko template:{
  356. name:'recipients-for-printing',
  357. data:from,
  358. if:printing
  359. }--><!--/ko--></div></div><!--ko 'if':undisclosedRecipients--><div class="mailView--label">To:</div><div class="mailView--content-section mailView--contacts"><div class="value">Undisclosed Recipients</div></div><!--/ko--><!--ko 'if':mail.hasRecipients--><div class="mailView--label">To:</div><div class="mailView--content-section mailView--contacts"><div class="value"><truncated-list params="template:'recipient-list-item',
  360. data:to,
  361. truncateAt:truncateAt(to)"></truncated-list> <!--ko template:{
  362. name:'recipients-for-printing',
  363. data:to,
  364. if:printing
  365. }--><!--/ko--></div></div><!--/ko--><!--ko 'if':showCcList()--><div class="mailView--label">Cc:</div><div class="mailView--content-section mailView--contacts"><div class="value"><truncated-list params="template:'recipient-list-item',
  366. data:cc,
  367. truncateAt:truncateAt(cc)"></truncated-list> <!--ko template:{
  368. name:'recipients-for-printing',
  369. data:cc,
  370. if:printing
  371. }--><!--/ko--></div></div><!--/ko--><!--ko 'if':showBccList()--><div class="mailView--label">Bcc:</div><div class="mailView--content-section mailView--contacts"><div class="value"><truncated-list params="template:'recipient-list-item',
  372. data:bcc,
  373. truncateAt:truncateAt(bcc)"></truncated-list> <!--ko template:{
  374. name:'recipients-for-printing',
  375. data:bcc,
  376. if:printing
  377. }--><!--/ko--></div></div><!--/ko--><div class="mailView--content-section mail-part"><!--ko 'if':mail.hasInlineParts--><ul><!--ko if:unsubscribeLinkType()==='mail'--><li class="mailView--unsubscribe mailView--linksList"><a class="mailView--unsubscribe-link" data-bind="popupTemplate:getUnsubscribeDialogOptions()">Unsubscribe</a></li> <!--/ko--><!--ko if:unsubscribeLinkType()==='web'--><li class="mailView--unsubscribe mailView--linksList"><a class="mailView--unsubscribe-link" data-bind="attr:{href:unsubscribeLink()}" target="_blank">Unsubscribe</a></li> <!--/ko--><!--ko 'if':showExternalImagesLink--><li class="mailView--loadExternalImages mailView--linksList" data-bind="click:loadExternalImages"><a class="mailView--loadExternalImages-link" href="#">Load external images</a></li> <!--/ko--><!--ko 'if':showExternalImagesFromLink--><li class="mailView--loadExternalImages mailView--linksList" data-bind="click:loadAlwaysExternalImages"><a class="mailView--loadExternalImages-link" href="#">Always load external images from <span data-bind="text:from"></span></a></li> <!--/ko--></ul><div class="mailFrameLoading loading-overlay solid" data-bind="if:!mail.isLoaded(),
  378. visible:!mail.isLoaded()"><div></div></div><div class="mailFrame" data-bind="foreach:mail.inlineParts,
  379. visible:mail.isLoaded()"><!--ko template:template--><!--/ko--></div><!--/ko--></div><!--ko 'if':mail.hasAttachments--><div class="mailView--content-section"><div>Attachments: <!--ko 'if':mail.shouldDisplayDownloadAllAttachmentsLink--><a class="mailView--download-all-attachments" data-bind="attr:{href:mail.getDownloadAllAttachmentsUrl()}" download="">Download all attachments</a> <!--/ko--></div><ul class="mailView--attachments" data-bind="foreach:mail.attachments"><li><!--ko 'if':hasThumbnail--><div class="attachment-thumbnail"><a class="preview" data-bind="attr:{
  380. href:getImageUrl(),
  381. title:displayName
  382. },
  383. lightbox:{
  384. name:'attachments-thumbnail',
  385. closePlacement:'top',
  386. hideBarsDelay:0
  387. },
  388. style:{backgroundImage:getThumbnailUrlForCSS()}" style="background-repeat:no-repeat;background-size:100%;background-position:50% 50%"><div class="mask"><div class="displayNameForThumbnail"><span class="nameOnTop" data-bind="text:displayTopName"></span> <br> <span class="displaySize" data-bind="text:displaySize"></span></div></div></a><a data-bind="attr:{href:getDownloadUrl()}" target="download"><i data-title="Download" class="icon-attachmentsDownload"></i></a></div><!--/ko--><!--ko 'if':!hasThumbnail&&isPreviewable--><div data-bind="attr:{'class':iconClass+' mime-medium'}"><a class="preview" data-bind="attr:{href:getPreviewUrl()},
  389. lightbox:{
  390. name:'attachments-thumbnail',
  391. closePlacement:'top',
  392. hideBarsDelay:0
  393. }"><div class="displayNameFornotThumbnail"><span class="nameOnTop" data-bind="text:displayTopName"></span> <br> <span class="displaySize" data-bind="text:displaySize"></span> <span class="nameOnBottom" data-bind="text:displayBottomName"></span></div></a><a data-bind="attr:{href:getDownloadUrl()}" target="download"><i data-title="Download" class="icon-attachmentsDownload"></i></a></div><!--/ko--><!--ko 'ifnot':isPreviewable--><!--ko 'if':isAttachedMail()--><div data-bind="attr:{'class':iconClass+' mime-medium'}"><a class="preview" data-bind="click:viewAttachedMail"><div class="displayNameFornotThumbnail"><span id="nameOnTop" class="nameOnTop filename" data-bind="text:displayTopName"></span> <br> <span class="displaySize" data-bind="text:displaySize"></span> <span class="nameOnBottom" data-bind="text:displayBottomName"></span></div><a data-bind="attr:{href:getDownloadUrl()}" target="download"><i data-title="Download" class="icon-attachmentsDownload"></i></a></a></div><!--/ko--><!--ko 'ifnot':isAttachedMail()--><div data-bind="attr:{'class':iconClass+' mime-medium'}"><a class="downloadLink" data-bind="attr:{href:getDownloadUrl()}" target="download"><div class="displayNameFornotThumbnail"><span id="nameOnTop" class="nameOnTop filename" data-bind="text:displayTopName"></span> <br> <span class="displaySize" data-bind="text:displaySize"></span> <span class="nameOnBottom" data-bind="text:displayBottomName"></span></div><i data-title="Download" class="icon-attachmentsDownload"></i></a></div><!--/ko--><!--/ko--></li></ul></div><!--/ko--></div></script><script type=text/html id=contactCard><div class="mailView--contact-card js--contact-card" data-bind="with:$parents[1].getContactCard($data)"><div data-bind="unselectable:true,
  394. visible:hasMultipleContacts" class="mailView--contact-card--count"><span data-bind="text:shownContactIndex"></span> of <span data-bind="text:recipients.length"></span></div><div class="mailView--contact-card--photo" data-bind="unselectable:true"><span class="icon-back-arrow-bigger mailView--contact-card--switcher" data-bind="click:showPreviousContact,
  395. visible:hasMultipleContacts"></span> <img data-bind="attr:{src:photoUrl()}" class="contact-photo"> <span class="icon-forward-arrow-bigger mailView--contact-card--switcher" data-bind="click:showNextContact,
  396. visible:hasMultipleContacts"></span></div><div data-bind="css:showContactCard()?'mailView--contact-card--labels':'mailView--contact-card--labelsWithoutButton'"><div class="mailView--contact-card--displayname" data-bind="visible:shownContact().displayName,
  397. text:shownContact().displayName"></div><div class="mailView--contact-card--email" data-bind="visible:email(),
  398. text:displayEmail()"></div></div><div class="mailView--contact-card--buttons" data-bind="unselectable:true"><!--ko 'if':showContactCard()--><button class="one-button-style icon-button" data-bind="click:addToMyContacts"><i class="icon-edit"></i> Add to my contacts</button> <!--/ko--><!--ko 'ifnot':contactCardForRecipient()--><a class="one-button-style" data-bind="attr:{'href':'mailto:'+mailto()}">Send mail</a> <button class="one-button-style" data-bind="text:sendToContactsText,
  399. click:toContactApp"></button> <!--/ko--></div></div></script><script type=text/html id=unsubscribeDialog><div class="mailView--unsubscribe-dialog dialog"><p class="mailView--unsubscribe-label">This will send an unsubscribe mail to sender.</p><button class="one-button-style solid touch-highlight mailView--unsubscribe-button" data-bind="click:sendMail" target="_blank">Confirm</button> <button class="one-button-style touch-highlight mailView--unsubscribe-cancel-button" data-bind="click:function(){
  400. open(false);
  401. }">Cancel</button></div></script><script type=text/html id=composer><div class="layout top composer-toolbar one-toolbar-style" data-keydomain="composer"><toolbar params="primaries:mainButtons,
  402. secondaries:minorButtons"></toolbar><div data-bind="visible:failed" class="failed-save-warning"> <i class="icon-warning"></i> <span data-bind="visible:failedSending">The mail could not be sent</span> <span data-bind="visible:failedSaving">The mail could not be saved</span></div></div><div class="layout center mailComposer" data-bind="keybindDomain:{
  403. name:'composer',
  404. firstFocus:'input#to',
  405. noDispose:true
  406. }"><div class="mailComposer--header"><div data-bind="click:function(data,event){
  407. restoreFocusToComposer($data,event);
  408. }"><div class="mailComposer--header-recipients-container"><div class="mailComposer--header-section recipient-input" data-bind="template:{
  409. name:'recipient-input',
  410. data:toView
  411. }"></div><!--ko 'if':ccView.visible()--><div class="mailComposer--header-section recipient-input" data-bind="template:{
  412. name:'recipient-input',
  413. data:ccView
  414. }"></div><!--/ko--><!--ko 'if':bccView.visible()--><div class="mailComposer--header-section recipient-input" data-bind="template:{
  415. name:'recipient-input',
  416. data:bccView
  417. }"></div><!--/ko--></div><!--ko ifnot:ccView.visible()&&bccView.visible()--><div class="mailComposer--control"><!--ko ifnot:ccView.visible()--><a class="mailComposer--add-field" href="#" tabindex="-1" data-bind="click:ccView.show">Cc</a> <!--/ko--><!--ko ifnot:bccView.visible()--><a class="mailComposer--add-field" href="#" tabindex="-1" data-bind="click:bccView.show">Bcc</a> <!--/ko--></div><!--/ko--><div class="mailComposer--header-section subject-section"><in-place-editor params="value:subject,
  418. placeholder:'Subject',
  419. id:'subject'" class="mailComposer--subject-field" data-bind="hasfocus:focusSubject,
  420. value:subject,
  421. valueUpdate:'afterkeydown'" id="subject"></in-place-editor></div></div><div class="mailComposer--header-section attachment-section" tabindex="-1" data-bind="template:{
  422. name:'attachmentView',
  423. data:attachmentView
  424. }"></div></div><rte class="mailComposer--body-editor" params="config:rteConfig,
  425. afterRender:initEditor.bind($data)" data-bind="beforeRemove:flushChanges.bind($data)"></rte></div><div class="layout loading-overlay" data-bind="if:loadingOverlayVisible,
  426. visible:loadingOverlayVisible"><div></div></div></script><script type=text/html id=recipient-input><div class="knockout-autocomplete multiple mailComposer--recipient-field" data-bind="css:{focused:focused},
  427. dropZone:{
  428. name:'recipients',
  429. drop:dropRecipient,
  430. dragEnter:dragEnter
  431. },
  432. afterRender:setup"><input type="input" data-bind="hasfocus:pasteAreaFocused" class="paste-area" tabindex="-1"> <span class="recipient-placeholder" data-bind="attr:{'data-i18n':label},
  433. css:{'float':floatLabel},
  434. text:label"></span> <!--ko foreach:completed--><!--ko 'if':editing()--><input type="text" class="label" data-bind="focusWhen:editing,
  435. value:value,
  436. selectOnFocus:{
  437. pattern:/.*/,
  438. onlySelectOnFirstFocus:true
  439. },
  440. valueUpdate:'afterkeydown',
  441. autoExpand:value,
  442. autocomplete:{
  443. data:$parent.dataSource,
  444. query:query,
  445. noFilter:true,
  446. renderSuggestion:$parent.renderSuggestionConcatenated,
  447. onSelect:select.bind($data),
  448. format:$parent.format,
  449. separators:',;',
  450. maxItems:8
  451. },
  452. event:{
  453. blur:blurHandler,
  454. keydown:escapeHandler
  455. }"> <!--/ko--><!--ko 'if':!editing()--><span class="item" data-bind="css:{
  456. invalid:$parent.isInvalidEmail(item),
  457. dragging:dragging
  458. },
  459. dragZone:{
  460. name:'recipients',
  461. dragStart:dragStart,
  462. dragEnd:dragEnd
  463. }"><span class="label" data-bind="text:item.toDisplayString(),
  464. attr:{'data-title':item.displayEmail},
  465. popupTemplate:{
  466. template:'contactCard',
  467. data:{recipient:$data.item},
  468. disable:false,
  469. anchorHandler:!$parent.isInvalidEmail(item)
  470. },
  471. leftDoubleMouseDown:edit,
  472. touchstart:edit"></span> <a class="remove" data-bind="leftMouseDown:$parent.removeItem.bind($parent,$index)"></a></span> <!--/ko--><!--/ko--><input class="main-input" type="text" data-bind="attr:{id:id},
  473. hasfocus:inputFocused,
  474. value:value,
  475. valueUpdate:'afterkeydown',
  476. event:{
  477. blur:blurHandler,
  478. keydown:keyDown.bind($data,$root)
  479. },
  480. autocomplete:{
  481. data:dataSource,
  482. query:query,
  483. noFilter:true,
  484. renderSuggestion:renderSuggestionConcatenated,
  485. onSelect:select.bind($data),
  486. format:format,
  487. separators:',;',
  488. maxItems:8
  489. }"></div></script><script type=text/html id=attachmentView><div class="mailComposer--attachment-add drag-drop" tabindex="-1" data-bind="event:{
  490. dragover:function(data,event){
  491. event.preventDefault();
  492. },
  493. drop:addDroppedFiles,
  494. dragstart:true,
  495. dragleave:function(data,event){
  496. event.preventDefault();
  497. }
  498. }"><div class="attachment" value="" tabindex="-1" data-bind="hasFocus:focus,
  499. css:{
  500. 'sizeWarning':attachmentsTooLarge||attachmentIsDirectory,
  501. 'expand':allowExpand
  502. }"><span class="placeholder" data-bind="css:{'float':isLabelUp}">Attachments</span><div class="drag-drop--scrollList" data-bind="css:{'expanded-list':allowExpand}"><div class="mailComposer--attachment drag-drop--field" data-bind="activateFileInput:{
  503. handler:attach,
  504. tabIndex:-1,
  505. offset:{top:inputOffsetTop},
  506. multiple:FormData!=='undefined'
  507. }"> <!--ko foreach:sizeAnnotatedAttachments--><div class="mailComposer--attachment-list-item"><!--ko ifnot:attachment.isPreviewable--><span class="mailComposer--attachment-list-item--view" data-bind="text:attachment.displayName"></span> <span class="size" data-bind="text:'('+attachment.displaySize()+')'"></span> <!--/ko--><!--ko 'if':attachment.isPreviewable--><a class="mailComposer--attachment-list-item--view" data-bind="text:attachment.displayName,
  508. attr:{
  509. href:attachment.getPreviewUrl(),
  510. title:attachment.displayName
  511. },
  512. lightbox:{
  513. name:'attachments',
  514. closePlacement:'top',
  515. hideBarsDelay:0
  516. }"></a> <span class="size" data-bind="text:'('+attachment.displaySize()+')'"></span> <!--/ko--><a class="mailComposer--attachment-list-item-delete" href="#" data-bind="click:$parent.removeAttachment.bind($parent,$index())"><span class="icon-cancelCross icon"></span></a></div><!--/ko--></div><div class="item drag-drop--info"><a class="upload-link" data-bind="activateFileInput:{
  517. handler:attach,
  518. tabIndex:-1,
  519. multiple:FormData!=='undefined'
  520. }" data-title="Attach file">Add</a></div></div></div></div><div class="mailComposer--attachment-size-warning" data-bind="visible:attachmentsTooLarge">The total size of your attachments exceeds the limit of <span data-bind="text:inter.renderFileSize(maximumDecodedMailSize)"></span>. Please remove some attachments.</div><div class="mailComposer--attachment-warning" data-bind="visible:attachmentIsDirectory">Folders can't be attached to a mail. Please attach the separate files instead.</div></script><script type=text/html id=mailSent><div class="layout top content-toolbar one-toolbar-style"></div><div class="layout center centeredMessage"><h1>Email sent</h1></div></script><script type=text/html id=sendingMail><div class="layout top content-toolbar one-toolbar-style"></div><div class="layout center centeredMessage"><h1>Sending email...</h1></div></script><script type=text/html id=mailPartInlineImage><img class="mailPartImage" data-bind="attr:{src:url()}"></script><script type=text/html id=mailPartText><!--ko 'if':mailPartTooBig()--><!--ko template:{
  521. name:'mailPartTooBig',
  522. data:$data
  523. }--><!--/ko--><!--/ko--><!--ko 'ifnot':mailPartTooBig()--><div class="mailPart" data-bind="html:htmlContent,
  524. afterRender:setDomReference"></div><!--/ko--></script><script type=text/html id=mailPartTooBig><div class="content mailPartTooBig"><h1>This email is too large for the security filters.</h1><a data-bind="attr:{href:url()}" target="_blank">View the email without security filters (at your own risk)</a></div></script><script type=text/html id=listItemErrorDialog><div class="error-dialog"><span class="error-text" data-bind="text:$data">Error message</span></div></script><script type=text/html id=renameEditor><input type="text" data-bind="value:value,
  525. focusWhen:true,
  526. selectOnFocus:true,
  527. valueUpdate:'keyup',
  528. onKeyUp:{
  529. enter:commit,
  530. esc:cancel
  531. },
  532. event:{blur:blur},
  533. autoExpand:autoExpand,
  534. keydownBubble:false,
  535. keyupBubble:false,
  536. style:style,
  537. attr:attr"></script><script type=text/html id=truncatedList><!--ko 'if':truncated()&&hiddenCount()>0--><!--ko foreach:abbreviated--><!--ko template:$parent.template--><!--/ko--><span data-bind="separator:$parent.abbreviated">,</span> <!--/ko--><a class="showLink" data-bind="click:truncated.bind(null,false)">(<span data-bind="text:hiddenCount"></span> more)</a> <!--/ko--><!--ko 'ifnot':truncated()&&hiddenCount()>0--><!--ko foreach:all--><!--ko template:$parent.template--><!--/ko--><span data-bind="separator:$parent.all">,</span> <!--/ko--><!--ko 'if':hiddenCount()>0--><a class="hideLink" data-bind="click:truncated.bind(null,true)">(less)</a> <!--/ko--><!--/ko--></script><script type=text/html id=rteditor><div class="rte-toolbar" data-bind="foreach:rteToolbar.buttonSet" data-keydomain="---" style="word-spacing:-3px"><!--ko template:{
  538. name:$parent.rteToolbar.buttons[$data].template,
  539. data:$parent.rteToolbar.buttons[$data].model
  540. }--><!--/ko--></div><div class="rte-frame" data-bind="afterRender:setup"><!--ko if:imageHandler--><div class="rte-imagehandler" data-bind="template:{
  541. name:'imageHandler',
  542. data:imageHandler
  543. },
  544. visible:imageHandler.visible" data-keydomain="---"></div><!--/ko--><!--ko if:linkHandler--><div class="rte-linkhandler" data-bind="template:{
  545. name:'linkHandler',
  546. data:linkHandler
  547. },
  548. visible:linkHandler.visible" data-keydomain="---"></div><!--/ko--></div><div class="rte-overlay" data-bind="visible:disabled"></div></script><script type=text/html id=fontDropdown><div data-bind="unselectable:true,
  549. attr:{'data-title':tooltip}" class="rte-toolbar--button-container font-dropdown"><a class="rte-toolbar--button" rel="font" data-bind="dropdownTemplate:{
  550. template:'RteFontDropdownTemplate',
  551. openState:visible
  552. }"><i class="rte-toolbar--font-sample" data-bind="text:selected"></i><i class="icon-rte-dropdown-arrow"></i></a></div></script><script type=text/html id=fontSizeDropdown><div data-bind="unselectable:true,
  553. attr:{'data-title':tooltip}" class="rte-toolbar--button-container"><a class="rte-toolbar--button" rel="fontSize" data-bind="dropdownTemplate:{
  554. template:'RteFontSizeDialogTemplate',
  555. openState:visible
  556. }"><i data-bind="css:icon"></i><i class="icon-rte-dropdown-arrow"></i></a></div></script><script type=text/html id=linkDialog><div class="rte-toolbar--button-container"><a class="rte-toolbar--button selected" data-bind="click:action,
  557. visible:selected,
  558. unselectable:true,
  559. attr:{'data-title':tooltip}"><i data-bind="css:icon"></i></a> <a class="rte-toolbar--button" data-bind="dropdownTemplate:{
  560. template:'RteLinkDialogTemplate',
  561. openState:visible,
  562. closeOnClickInPopup:false,
  563. afterOpen:getSelectedText,
  564. afterClose:clearWarning
  565. },
  566. visible:!selected(),
  567. unselectable:true,
  568. attr:{'data-title':tooltip}"><i data-bind="css:icon"></i></a></div></script><script type=text/html id=imageDialog><div class="rte-toolbar--button-container"><a class="rte-toolbar--button" data-bind="dropdownTemplate:{
  569. template:'RteImageDialogTemplate',
  570. openState:visible,
  571. closeOnClickInPopup:false
  572. },
  573. unselectable:true,
  574. attr:{'data-title':tooltip}"><i data-bind="css:icon"></i></a></div></script><script type=text/html id=rteToolbarButton><a class="rte-toolbar--button" data-bind="click:action,
  575. css:{selected:selected},
  576. unselectable:true,
  577. attr:{'data-title':tooltip}"><i data-bind="css:icon"></i></a></script><script type=text/html id=imageHandler><div class="imagehandler--frame"><ul class="imagehandler--sizeMenu"><li class="imagehandler--sizeMenuItem" data-bind="css:{'imagehandler--sizeMenuItemInactive':!canSetSmall()}"><a class="imagehandler--command" data-bind="click:setSizeSmall,
  578. css:{'imagehandler--commandSelected':imageSetSize()=='small'},
  579. text:text.small"></a></li> <li class="imagehandler--sizeMenuItem" data-bind="css:{'imagehandler--sizeMenuItemInactive':!canSetMedium()}"><a class="imagehandler--command" data-bind="click:setSizeMedium,
  580. css:{'imagehandler--commandSelected':imageSetSize()=='medium'},
  581. text:text.medium"></a></li> <li class="imagehandler--sizeMenuItem" data-bind="css:{'imagehandler--sizeMenuItemInactive':!canSetLarge()}"><a class="imagehandler--command" data-bind="click:setSizeLarge,
  582. css:{'imagehandler--commandSelected':imageSetSize()=='large'},
  583. text:text.large"></a></li> <li class="imagehandler--sizeMenuItem" data-bind="css:{'imagehandler--sizeMenuItemInactive':!canSetSmall()}"><a class="imagehandler--command" data-bind="click:setSizeOriginal,
  584. css:{'imagehandler--commandSelected':imageSetSize()=='original'},
  585. text:text.original"></a></li></ul><span class="imagehandler--spacer" data-bind="css:{'imagehandler--sizeMenuItemInactive':!canSetSmall()}">–</span> <a class="imagehandler--command" data-bind="click:deleteImage,
  586. text:text.delete"></a></div></script><script type=text/html id=linkHandler><div class="linkhandler--frame"><ul class="linkhandler--commandList"><li class="linkhandler--command" data-bind="text:text.goto"></li> <li class="linkhandler--command"><a class="linkhandler--link" target="_blank" data-bind="text:linkUrl,
  587. attr:{href:linkUrl},
  588. click:closeAfter"></a></li> <!--ko if:showDelete--><span class="linkhandler--spacer">–</span> <li class="linkhandler--command"><a data-bind="text:text.edit,
  589. click:openEditableDialog.bind($data,$parents)"></a></li> <span class="linkhandler--spacer">–</span> <li class="linkhandler--command"><a data-bind="click:deleteLink,
  590. text:text.delete"></a></li> <!--/ko--></ul></div></script><script type=text/html id=colorPalette><div data-bind="unselectable:true,
  591. attr:{'data-title':tooltip}" class="rte-toolbar--button-container"><a class="rte-toolbar--button" data-bind="dropdownTemplate:{
  592. template:'RteColorPaletteTemplate',
  593. openState:visible
  594. }" rel="color"><i data-bind="css:icon"></i></a></div></script><script type=text/html id=pagination><!--ko 'if':loaded()--><!--ko 'if':pageCount()===1--><span class="pagination-label"><span data-bind="visible:fullLength()!==0,
  595. template:'paginationLabel'"></span></span> <!--/ko--><!--ko 'if':pageCount()>1--><span class="pagination-label dropdown"><span data-bind="dropdownTemplate:{
  596. template:'paginationDropdown',
  597. positioning:dropdownPosition
  598. }" class="dropdown-toggle"><span data-bind="template:'paginationLabel'"></span> <b class="caret"></b></span></span> <!--/ko--><!--/ko--><!--ko ifnot:loaded()--><span class="pagination-label">Loading...</span> <!--/ko--><button class="navigation newer" data-bind="enable:hasPreviousPage(),
  599. click:previousPage"><span class="icon-back-arrow"></span></button><button class="navigation older" data-bind="enable:hasNextPage(),
  600. click:nextPage"><span class="icon-forward-arrow"></span></button></script><script type=text/html id=paginationLabel><span data-bind="text:firstItemIndex">1</span>-<span data-bind="text:lastItemIndex">50</span> of <span class="highlight" data-bind="text:fullLength">0</span></script><script type=text/html id=paginationDropdown><ul class="popupDropdown" data-bind="foreach:paginationList"><li class="dropdown-item" data-bind="text:name,
  601. click:clickHandler,
  602. style:{'font-weight':current?'bold':'normal'}"></li></ul></script><script type=text/html id=cardStack><span class="card-stack-container" data-bind="foreach:{
  603. data:cards,
  604. beforeRemove:beforeRemove
  605. },
  606. animate:data,
  607. css:{
  608. incremented:incremented,
  609. decremented:decremented
  610. }"><span class="card-stack-card" data-bind="css:'card-'+$data,
  611. template:$parent.template"></span></span></script><script type=text/html id=toolbar-component><div class="toolbar-left"><!--ko template:{
  612. name:'toolbar-button',
  613. data:back,
  614. if:back
  615. }--><!--/ko--><!--ko if:ko.unwrap(primaries).length--><!--ko if:narrow()--><div class="combo-button"><!--ko template:{
  616. name:'toolbar-button',
  617. data:firstPrimary
  618. }--><!--/ko--><!--ko with:primariesMenu--><div class="combo-separator"></div><button href="#" class="combo-ribbon" data-bind="dropdownTemplate:menu"><span class="icon-caret"></span></button> <!--/ko--><!--/ko--></div><!--/ko--><!--ko ifnot:narrow()--><!--ko template:{
  619. name:'toolbar-button',
  620. foreach:primaries
  621. }--><!--/ko--><!--/ko--><!--/ko--></div><div class="toolbar-right"><!--ko template:{
  622. name:'toolbar-button',
  623. foreach:secondaries
  624. }--><!--/ko--><!--ko with:more--><button href="#" data-bind="dropdownTemplate:menu"><span data-bind="text:label"></span> <span class="icon-caret"></span></button> <!--/ko--></div></script><script type=text/html id=toolbar-button><!--ko if:menu--><button data-bind="click:handler,
  625. popupTemplate:menu,
  626. css:classes"><span data-bind="css:icon"></span> <span data-bind="text:label,
  627. visible:!$parent.collapsed()"></span></button> <!--/ko--><!--ko ifnot:menu--><!--ko if:track--><button href="#" data-bind="click:handler,
  628. enable:enabled,
  629. css:classes,
  630. trackClick:track"><span data-bind="css:icon"></span> <span data-bind="text:label,
  631. visible:!$parent.collapsed()"></span></button> <!--/ko--><!--ko ifnot:track--><button href="#" data-bind="click:handler,
  632. enable:enabled,
  633. css:classes"><span data-bind="css:icon"></span> <span data-bind="text:label,
  634. visible:!$parent.collapsed()"></span></button> <!--/ko--><!--/ko--></script><script type=text/html id=toolbar-more><ul class="popupDropdown toolbar-menu"><!--ko if:menu.openState--><!--ko foreach:buttons--><!--ko if:menu--><li class="dropdown-item toolbar-menu" data-bind="click:handler,
  635. text:label,
  636. css:icon,
  637. popupTemplate:menu"></li> <!--/ko--><!--ko ifnot:menu--><!--ko if:track--><li class="dropdown-item toolbar-menu" data-bind="click:handler,
  638. css:icon,
  639. text:label,
  640. trackClick:track"></li> <!--/ko--><!--ko ifnot:track--><li class="dropdown-item toolbar-menu" data-bind="click:handler,
  641. css:icon,
  642. text:label"></li> <!--/ko--><!--/ko--><!--/ko--><!--/ko--></ul></script><script type=text/html id=confirmation-dialog><modal-dialog params="show:show,
  643. topHeight:topHeight,
  644. topColor:topColor,
  645. buttons:buttons,
  646. cornerCloser:true"><!--ko foreach:content--><p data-bind="html:$data"></p><!--/ko--></modal-dialog></script><script type=text/html id=modal-overlay><div class="overlay-container" data-bind="css:{'active':isOverlayActive}"><!--ko template:{
  647. nodes:nodesInOverlay,
  648. data:outerData
  649. }--><!--/ko--></div></script><script type=text/html id=modal-dialog><!--ko if:show--><modal-overlay params="showOverlay:ko.observable(true)"><div class="modal-dialog" data-bind="css:{'title-top':titleContent}"><div class="dialog-top" data-bind="html:titleContent,
  650. style:{
  651. backgroundColor:topColor,
  652. height:topHeight
  653. }"></div><!--ko if:cornerCloser--><div class="corner-closer" data-bind="click:cornerCloser"><span class="icon-remove-item"></span></div><!--/ko--><!--ko template:{
  654. nodes:nodesInDialog,
  655. data:outerData
  656. }--><!--/ko--><div class="buttons" data-bind="foreach:buttons"><button data-bind="click:handler,
  657. text:label,
  658. css:className"></button></div></div></modal-overlay><!--/ko--></script><script type=text/html id=sequence-dialog><modal-dialog params="show:show,
  659. buttons:buttons,
  660. titleText:title,
  661. titleIcon:titleIcon,
  662. topColor:topColor,
  663. titleRight:pageNumber"><!--ko if:pages.length>1--><button class="pager next" data-bind="click:nextHandler"></button> <button class="pager prev" data-bind="click:prevHandler"></button> <!--/ko--><div data-bind="html:content"></div><div class="image" data-bind="if:image"><img data-bind="attr:{src:image}"></div><div class="neverAgain" data-bind="if:neverAgainLabel"><input id="seqCheckNeverAgain" type="checkbox" data-bind="checked:neverAgain"> <label for="seqCheckNeverAgain" data-bind="text:neverAgainLabel"></label></div></modal-dialog></script><script type=text/html id=navigation><div class="buttons-container navigation-btns" data-bind="visible:showNavigation"><button data-bind="leftMouseDown:showToday">Today</button> <button data-bind="leftMouseDown:showPrevious" class="previous"></button> <button data-bind="leftMouseDown:showNext" class="next"></button></div><div class="buttons-container tabs-btns" data-bind="visible:showTabs"><button data-bind="leftMouseDown:showDayView,
  664. css:{active:activeField()==='day'}">Day</button> <button data-bind="leftMouseDown:showWeekView,
  665. css:{active:activeField()==='week'}">Week</button> <button data-bind="leftMouseDown:showMonthView,
  666. css:{active:activeField()==='month'}">Month</button> <button data-bind="leftMouseDown:showAgendaView,
  667. css:{active:activeField()==='agenda'}">Agenda</button></div></script><script type=text/html id=inPlaceEditor><div class="in-place-editor-content" data-bind="css:{multiline:isMultiline}"><!--ko if:placeholder--><span class="floating-placeholder" data-bind="css:{'float':float},
  668. text:placeholder"></span> <!--/ko--><!--ko if:isMultiline--><!--ko if:!!autocomplete--><textarea rows="1" data-bind="disable:disabled,
  669. hasFocus:focused,
  670. textInput:value,
  671. autoExpand:value,
  672. attr:{
  673. tabindex:tabindex,
  674. name:name,
  675. id:id
  676. },
  677. valueUpdate:valueUpdate,
  678. autocomplete:autocomplete,
  679. event:events"></textarea> <!--/ko--><!--ko ifnot:!!autocomplete--><textarea rows="1" data-bind="disable:disabled,
  680. hasFocus:focused,
  681. textInput:value,
  682. autoExpand:value,
  683. attr:{
  684. tabindex:tabindex,
  685. name:name,
  686. id:id
  687. },
  688. valueUpdate:valueUpdate,
  689. event:events"></textarea> <!--/ko--><!--/ko--><!--ko ifnot:isMultiline--><!--ko if:!!autocomplete--><input type="text" data-bind="disable:disabled,
  690. hasFocus:focused,
  691. textInput:value,
  692. attr:{
  693. tabindex:tabindex,
  694. name:name,
  695. id:id
  696. },
  697. valueUpdate:valueUpdate,
  698. autocomplete:autocomplete,
  699. event:events"> <!--/ko--><!--ko ifnot:!!autocomplete--><input type="text" data-bind="disable:disabled,
  700. hasFocus:focused,
  701. textInput:value,
  702. attr:{
  703. tabindex:tabindex,
  704. type:type,
  705. name:name,
  706. id:id
  707. },
  708. valueUpdate:valueUpdate,
  709. event:events"> <!--/ko--><!--/ko--></div></script><script type=text/html id=miniCalendar><table cellspacing="0"><thead><tr><td colspan="8"><div class="navigation"><div class="month-label" data-bind="click:showMonth,
  710. formatDate:{
  711. value:monthRange().from,
  712. format:'MMMM y'
  713. }"></div><button class="previous" data-bind="click:showPrevious"></button> <button class="next" data-bind="click:showNext"></button></div></td></tr><tr><th class="week-number"></th><!--ko foreach:weeks[0].days--><th class="day-names" data-bind="text:inter.calendars.gregorian.dayNames.format.narrow[$data.date().dayOfWeek()-1]"></th><!--/ko--></tr></thead><tbody data-bind="foreach:weeks"><tr><th class="week-number" data-bind="text:number,
  714. click:showWeek,
  715. css:{'no-range':!$parent.supportsRangeSelection()}"></th><!--ko foreach:days--><td data-bind="css:{
  716. outsideMonth:outsideMonth,
  717. hasEvents:hasEvents,
  718. highlight:highlight,
  719. present:present,
  720. selected:selected
  721. },
  722. click:showDay,
  723. dragZone:{
  724. name:'miniCalendarDay',
  725. dragDistance:1,
  726. element:null,
  727. dragStart:dragStart,
  728. dragEnd:dragEnd
  729. },
  730. dropZone:{
  731. accepts:'miniCalendarDay',
  732. dragOver:dragOver,
  733. drop:drop
  734. },
  735. formatDate:{
  736. value:date,
  737. format:'d'
  738. }" class="day"></td><!--/ko--></tr></tbody></table></script><script type=text/html id=dateInput><input type="text" data-bind="value:value,
  739. selectOnFocus:true,
  740. disable:disabled,
  741. attr:{tabindex:tabindex}" class="field"></script><script type=text/html id=dateSelector><one-date-input params="date:date,
  742. disabled:disabled,
  743. tabindex:tabindex"></one-date-input> <!--ko ifnot:disabled--><div data-bind="dropdownTemplate:{
  744. template:'datePickerDropdown',
  745. closeOnClickInPopup:false,
  746. openState:openState,
  747. closeOnEsc:false
  748. }"></div><div class="dropdown-toggle" data-bind="click:toggleVisible"><span class="calendar-icon"></span></div><!--/ko--></script><script type=text/html id=timeSelector><input data-bind="hasfocus:focused,
  749. autocomplete:{
  750. data:timeData,
  751. query:timeQuery,
  752. noFilter:true,
  753. minLength:0,
  754. className:'time-dropdown',
  755. visible:visible,
  756. renderSuggestion:renderSuggestion,
  757. onSelect:onSelect
  758. },
  759. value:timeValue,
  760. disable:disabled,
  761. css:{'invalid':isNotValid},
  762. attr:{tabindex:tabindex}" class="time-input field" type="text"> <!--ko ifnot:disabled--><div class="dropdown-toggle" data-bind="event:{mousedown:toggleVisible}"><span class="expand-icon"></span></div><!--/ko--></script><script type=text/html id=dialogHeader><div class="dialog-header-container"><!--ko if:!!back--><div class="layout back-section"><button class="back-button" data-bind="click:onBack,
  763. attr:{tabindex:tabindex}"><span class="back-text">Back</span></button></div><!--/ko--><div class="layout title"><!--ko template:{nodes:$componentTemplateNodes}--><!--/ko--></div><!--ko if:!!close--><div class="layout close-section"><button class="close-button" data-bind="click:onClose,
  764. attr:{tabindex:tabindex}"><span class="close-icon"></span></button></div><!--/ko--></div></script><script type=text/html id=calendarSlideIn><div class="layout slide-in" data-bind="css:{
  765. visible:open,
  766. animating:animating
  767. }"><div class="slide-in-overlay" data-bind="click:toggleSlideIn"></div><div class="layout right slide-in-container"><button class="slide-in-toggle" data-bind="click:toggleSlideIn"><span><span data-bind="formatDate:{
  768. value:now,
  769. formatId:'MMMd'
  770. }"></span><br> <span data-bind="formatDate:{
  771. value:now,
  772. formatId:'y'
  773. }"></span></span></button><div class="agenda-container agenda"><div data-bind="template:'agenda'"></div></div><div class="event-dialog-container edit-dialog event-dialog"><!--ko if:eventModel--><div data-bind="with:eventDialog"><div data-bind="template:'eventDialog'"></div></div><!--/ko--></div></div></div></script><script type=text/html id=agenda><div class="agenda-tab" data-bind="with:agendaView"><div class="agenda-header"><h2 class="agenda-label">Agenda <span class="agenda-range-label"> <span data-bind="formatDate:{
  774. value:startDate,
  775. format:'EEEE'
  776. }"></span> <span data-bind="formatDate:{
  777. value:startDate,
  778. formatId:'Md'
  779. }"></span> &nbsp;-&nbsp; <span data-bind="formatDate:{
  780. value:lastAgendaDay,
  781. formatId:'Md'
  782. }"></span> </span></h2><div class="agenda-header-right" data-bind="visible:showCalendarLink"><a href="/calendar" data-bind="click:goToCalendar">Go to calendar</a></div></div><div class="agenda-days"><ul data-bind="foreach:days"><li class="agenda-day"><h3 class="agenda-date-label"><span class="day" data-bind="formatDate:{
  783. value:date,
  784. format:'dd'
  785. }"></span> <span class="month" data-bind="formatDate:{
  786. value:date,
  787. format:'MMMM'
  788. }"></span> &nbsp;-&nbsp; <span class="week-day" data-bind="formatDate:{
  789. value:date,
  790. format:'EEEE'
  791. }"></span></h3><ul class="agenda-events" data-bind="foreach:eventInstances"><li class="agenda-item" data-bind="style:{color:eventInstance.event.calendar.color},
  792. eventDialog:{
  793. eventInstance:eventInstance,
  794. position:$root.embedded()?'right':'left'
  795. }"><div class="agenda-item-date"><!--ko if:allDay-->All day <!--/ko--><!--ko ifnot:allDay--><span data-bind="formatDate:{
  796. value:startDate.convertToZone($root.state.timeZone()),
  797. formatId:'shortTime'
  798. }"></span>&nbsp;-&nbsp;<span data-bind="formatDate:{
  799. value:endDate.convertToZone($root.state.timeZone()),
  800. formatId:'shortTime'
  801. }"></span> <!--/ko--></div><div class="agenda-item-summary" data-bind="text:eventInstance.summary"></div></li></ul></li></ul><!--ko if:canLoadMore()&&!slideIn--><button class="agenda-load-more" data-bind="click:loadMore">Load more</button> <!--/ko--></div><!--ko if:canLoadMore()&&slideIn--><div class="agenda-load-more-container"><button class="agenda-load-more" data-bind="click:loadMore">Load more</button></div><!--/ko--></div></script><script type=text/html id=recurrenceOptions><div class="controls-row frequency-selector"><div class="small recurrence-label fixed">Frequency:</div><div class="stretch"><div class="select-wrapper"><select data-bind="options:frequencyOptions,
  802. optionsText:'text',
  803. value:selectedFrequency"></select></div></div></div><div class="controls-row recurrence-interval"><div class="small recurrence-label fixed">Repeats every:</div><div class="stretch"><input type="number" min="1" max="30" data-bind="value:interval,
  804. event:{keydown:detectKeyCode}"> <span class="repeat-interval" data-bind="text:intervalDescription"></span></div></div><div class="controls-row repeat-on column-layout limit" data-bind="visible:frequency()!=='YEARLY'"><label data-bind="click:weekdaysOnlyClick,
  805. visible:frequency()==='DAILY'"><button data-bind="checkbox: isWeekdaysOnly
  806. attr: { tabindex: frequency() === 'DAILY' ? 1 : -1 }"></button> <span class="checkbox-label weekdays-only">Weekdays only</span></label><div class="small recurrence-label" data-bind="visible:frequency()==='WEEKLY'||frequency()==='MONTHLY'"> Repeat on:</div><div class="stretch" data-bind="foreach:daysOfWeekInOrder,
  807. visible:frequency()==='WEEKLY'"><div class="day-of-week-container"><label data-bind="click:labelClick"><button data-bind="checkbox:selected,
  808. value:id,
  809. attr:{tabindex:$parent.frequency()==='WEEKLY'?1:-1},
  810. disable:disabled"></button> <span class="checkbox-label day-of-week-label" data-bind="text:text,
  811. css:{'disabled':disabled}"></span></label></div></div><div data-bind="foreach:monthlyRepetitionOptions,
  812. visible:frequency()==='MONTHLY'"><div data-bind="visible:show" class="monthly-repetition-container"><label class="radio"><input type="radio" name="monthlyRepetition" data-bind="checked:$parent.monthlyRepetition,
  813. attr:{
  814. id:value,
  815. tabindex:$parent.frequency()==='MONTHLY'&amp;&amp;show?1:-1
  816. },
  817. value:value"> <span class="label checkbox-label" data-bind="text:text,
  818. click:$parent.monthlyRepetitionLabel"></span></label></div></div></div><div class="controls-row column-layout limit"><div class="small recurrence-label">End repeat:</div><div class="stretch limitation"><div class="limitation-row"><label class="radio"><input type="radio" data-bind="attr:{name:'limitation'},
  819. value:'forever',
  820. checked:limit"> <span class="label">Never ends</span></label></div><div class="limitation-row"><label class="stretch radio"><input type="radio" data-bind="attr:{name:'limitation'},
  821. value:'count',
  822. checked:limit"> <span class="label">Occurrences:</span></label><div class="limitation-input small"> <input type="number" min="1" data-bind="value:count,
  823. event:{keydown:detectKeyCode},
  824. enable:limit()==='count'"></div></div><div class="limitation-row"><label class="small radio"><input type="radio" data-bind="attr:{name:'limitation'},
  825. value:'until',
  826. checked:limit"> <span class="label">Ends:</span></label><div class="stretch" data-bind="css:{'empty-placeholder':!until()}"> <!--ko if:until()--><one-date-selector params="date:until,
  827. disabled:limit()!=='until'"></one-date-selector> <!--/ko--><!--ko ifnot:until()--><input type="text" tabindex="-1" disabled=""> <!--/ko--></div></div></div></div><div class="controls-row recur-description"><div class="small label">Description:</div><div class="stretch recurrence-description" data-bind="style:{minHeight:$data.frequency()==='WEEKLY'&amp;&amp;isSlideIn===false?'60px':''}"><span data-bind="text:recurrenceDescription"></span></div></div></script><script type=text/html id=eventDialog><div class="speech-bubble"><div class="speech-bubble-arrow"></div><div class="form-horizontal main" data-bind="css:view,
  828. style:{height:view()==='recurrence'&amp;&amp;$data.frequency()==='WEEKLY'?'465px':''}"><div class="dialog-view dialog-main event-dialog-main" data-bind="css:{'readonly':isReadonly}"><one-dialog-header params="close:discard,
  829. context:$data,
  830. tabindex:view()==='main'?1:-1,
  831. back:isSlideIn&amp;&amp;discard"><div class="dropdown-wrapper"><!--ko if:isReadonly--><div class="dropdown-input calendar-container"><button data-bind="css:{checked:false},
  832. style:{backgroundColor:calendar().darkBackgroundColor}" class="calendar-checkbox" tabindex="-1"></button> <span class="content" data-bind="text:calendar().name,
  833. attr:{'data-title':calendar().name}"></span></div><!--/ko--><!--ko ifnot:isReadonly--><div class="dropdown-input dropdown-toggle" data-bind="dropdownTemplate:{template:'calendarSelectorTemplate'}"><button data-bind="css:{checked:false},
  834. style:{backgroundColor:calendar().darkBackgroundColor}" class="calendar-checkbox" tabindex="-1"></button> <span class="content" data-bind="text:calendar().name,
  835. attr:{'data-title':calendar().name}"></span> <span class="caret"></span></div><!--/ko--></div></one-dialog-header><div class="dialog-rows"><div class="controls-row"><in-place-editor params="value:summary,
  836. placeholder:'Subject',
  837. disabled:isReadonly,
  838. focused:summaryFocused,
  839. tabindex:view()==='main'?1:-1" class="summary main"></in-place-editor></div><!--ko if:isReadonly()&&description()||!isReadonly()--><div class="controls-row"><in-place-editor params="value:description,
  840. isMultiline:true,
  841. placeholder:'Description',
  842. disabled:isReadonly,
  843. tabindex:view()==='main'?1:-1"></in-place-editor></div><!--/ko--><!--ko if:isReadonly()&&location()||!isReadonly()--><div class="controls-row location-input"><in-place-editor params="value:location,
  844. placeholder:'Location',
  845. disabled:isReadonly,
  846. tabindex:view()==='main'?1:-1" class="location"></in-place-editor> <a class="map-link" tabindex="-1" data-bind="visible:location,
  847. attr:{href:locationUrl}" target="_blank">map</a></div><!--/ko--><!--ko ifnot:isReadonly()--><div class="controls-row vertically-centered"><button data-bind="checkbox:allDayEvent,
  848. disable:isReadonly,
  849. attr:{tabindex:view()==='main'?1:-1}"></button> <span class="checkbox-label" data-bind="click:isReadonly()?null:toggleAllDay">All day event</span></div><!--/ko--><div class="controls-row"><table class="time-selection"><tr class="time-selection--from"><td><label>Starts:</label></td><td class="date-selector"><one-date-selector params="date:startDate,
  850. disabled:isReadonly,
  851. tabindex:view()==='main'?1:-1"></one-date-selector></td><td class="time-selector" data-bind="visible:!allDayEvent()"><one-time-selector params="date:startDate,
  852. disabled:isReadonly()||allDayEvent(),
  853. tabindex:view()==='main'?1:-1"></one-time-selector></td></tr><tr data-bind="visible:startDate.isNotValid"><td data-bind="attr:{colspan:allDayEvent()?2:3}"><label class="validation-warning">This is not a valid date.</label></td></tr><tr class="time-selection--to"><td><label>Ends:</label></td><td class="date-selector"><one-date-selector params="date:endDate,
  854. disabled:isReadonly,
  855. tabindex:view()==='main'?1:-1"></one-date-selector></td><td class="time-selector" data-bind="visible:!allDayEvent()"><one-time-selector params="date:endDate,
  856. disabled:isReadonly()||allDayEvent(),
  857. tabindex:view()==='main'?1:-1"></one-time-selector></td></tr><tr data-bind="visible:endDate.isNotValid"><td data-bind="attr:{colspan:allDayEvent()?2:3}"><label class="validation-warning">This is not a valid date.</label></td></tr></table></div><div class="controls-row"><div class="recurrence-controls-container"><div class="recurrence-toggle"><!--ko ifnot:isReadonly()--><button data-bind="checkbox:repeats,
  858. attr:{tabindex:view()==='main'?1:-1}"></button> <!--/ko--><span class="checkbox-label" data-bind="click:isReadonly()?null:toggleRecurrence">Repeats:</span></div><div class="recurrence-description"><span data-bind="text:recurrenceDescription"></span></div><!--ko if:repeats()&&!isReadonly()--><div class="recurrence-edit"><a href="javascript:void(0);" tabindex="-1" data-bind="click:showRecurrence">Edit</a></div><!--/ko--></div></div><!--ko if:isSlideIn&&repeats()&&!isReadonly()--><div class="recurrence-options-rows" data-bind="template:{
  859. name:'recurrenceOptions',
  860. if:isSlideIn
  861. }"></div><!--/ko--></div><div class="buttons" data-bind="visible:!$root.embedded()&amp;&amp;!isReadonly()"><button class="call-to-action" data-bind="click:remove,
  862. visible:isDeletable,
  863. enable:isDeletable,
  864. attr:{tabindex:view()==='main'?1:-1}">Delete</button> <button class="call-to-action main-call-to-action" data-bind="click:save,
  865. enable:isSavable,
  866. attr:{tabindex:view()==='main'?1:-1}">Save</button></div></div><div class="dialog-view dialog-scope-selector"><one-dialog-header params="back:back,
  867. close:discard,
  868. tabindex:view()==='scope-selector'?1:-1"><span class="label-recurring">Change recurring event</span></one-dialog-header> <a href="#" tabindex="0" class="first-focus ignore-tab"></a><div class="absolute-centered scope-buttons" data-bind="foreach:scopes"><div class="controls-row"> <button class="call-to-action" data-bind="click:selectScope,
  869. text:label,
  870. attr:{tabindex:$parent.view()==='scope-selector'?1:-1}"></button></div></div></div><div class="dialog-view dialog-recurrence"><one-dialog-header params="close:discard,
  871. back:back,
  872. tabindex:view()==='recurrence'?1:-1">Repeat</one-dialog-header> <a href="#" tabindex="0" class="first-focus ignore-tab"></a> <!--ko notif:isSlideIn--><div class="recurrence-options-rows" data-bind="template:{
  873. name:'recurrenceOptions',
  874. if:!isSlideIn
  875. }"></div><!--/ko--><div class="buttons layout bottom"><button class="call-to-action main-call-to-action" data-bind="click:back,
  876. attr:{tabindex:view()==='recurrence'?1:-1}">Ok</button></div></div></div></div><div class="layout loading-overlay" data-bind="visible:isProcessing"><div></div></div></script><script type=text/html id=MailListSelectionBarSelect><ul class="selection-bar--menu popupDropdown" data-keydomain="listpanel"><li class="dropdown-item" data-bind="click:deselectAll,
  877. trackClick:[
  878. 'mail list',
  879. 'deselect all'
  880. ]">Select none</li> <li class="dropdown-item" data-bind="click:selectAll,
  881. trackClick:[
  882. 'mail list',
  883. 'select all'
  884. ]">Select all</li> <li class="dropdown-item" data-bind="click:selectRead,
  885. trackClick:[
  886. 'mail list',
  887. 'select read'
  888. ]">Select read</li> <li class="dropdown-item" data-bind="click:selectUnread,
  889. trackClick:[
  890. 'mail list',
  891. 'select unread'
  892. ]">Select unread</li> <li class="dropdown-item" data-bind="click:selectFlagged,
  893. trackClick:[
  894. 'mail list',
  895. 'select starred'
  896. ]">Select starred</li></ul></script><script type=text/html id=MailListSelectionBarSort><ul class="selection-bar--menu popupDropdown" data-keydomain="listpanel"><li class="dropdown-item" data-bind="click:setSortKey.bind($data,'ARRIVAL'),
  897. trackClick:[
  898. 'mail list',
  899. 'sort by arrival'
  900. ]">Sort: Date<span data-bind="visible:search().sortKey==='ARRIVAL'"> <i class="icon-checkmark"></i></span></li> <!--ko 'if':$root.folderListView.selected()&&$root.folderListView.selected().isOutgoingFolder()--><li class="dropdown-item" data-bind="click:setSortKey.bind($data,'TO'),
  901. trackClick:[
  902. 'mail list',
  903. 'sort by to'
  904. ]">Sort: To<span data-bind="visible:search().sortKey==='TO'"> <i class="icon-checkmark"></i></span></li> <!--/ko--><!--ko ifnot:$root.folderListView.selected()&&$root.folderListView.selected().isOutgoingFolder()--><li class="dropdown-item" data-bind="click:setSortKey.bind($data,'FROM'),
  905. trackClick:[
  906. 'mail list',
  907. 'sort by from'
  908. ]">Sort: From<span data-bind="visible:search().sortKey==='FROM'"> <i class="icon-checkmark"></i></span></li> <!--/ko--><li class="dropdown-item" data-bind="click:setSortKey.bind($data,'SUBJECT'),
  909. trackClick:[
  910. 'mail list',
  911. 'sort by subject'
  912. ]">Sort: Subject<span data-bind="visible:search().sortKey==='SUBJECT'"> <i class="icon-checkmark"></i></span></li> <li class="dropdown-divider"></li> <li class="dropdown-item" data-bind="click:setSortDirection.bind($data,'ASC'),
  913. trackClick:[
  914. 'mail list',
  915. 'sort direction ascending'
  916. ]">Ascending<span data-bind="visible:search().sortDirection==='ASC'"> <i class="icon-checkmark"></i></span></li> <li class="dropdown-item" data-bind="click:setSortDirection.bind($data,'DESC'),
  917. trackClick:[
  918. 'mail list',
  919. 'sort direction descending'
  920. ]">Descending<span data-bind="visible:search().sortDirection==='DESC'"> <i class="icon-checkmark"></i></span></li></ul></script><script type=text/html id=MailListSelectionBarFilter><ul class="selection-bar--menu popupDropdown" data-keydomain="listpanel"><li class="dropdown-item" data-bind="click:setViewFilter.bind($data,'ALL'),
  921. trackClick:[
  922. 'mail list',
  923. 'show all'
  924. ]">Show: All <span data-bind="visible:search().viewFilter==='ALL'"><i class="icon-checkmark"></i></span></li> <li class="dropdown-item" data-bind="click:setViewFilter.bind($data,'UNSEEN'),
  925. trackClick:[
  926. 'mail list',
  927. 'show unread'
  928. ]">Show: Unread <span data-bind="visible:search().viewFilter==='UNSEEN'"><i class="icon-checkmark"></i></span></li> <li class="dropdown-item" data-bind="click:setViewFilter.bind($data,'FLAGGED'),
  929. trackClick:[
  930. 'mail list',
  931. 'show starred'
  932. ]">Show: With star <span data-bind="visible:search().viewFilter==='FLAGGED'"><i class="icon-checkmark"></i></span></li></ul></script><script type=text/html id=mail-drag-element-template><div class="drag-label" data-bind="text:inter.trQuantity({
  933. one:'Moving {0} mail',
  934. other:'Moving {0} mails'
  935. },selection.length)"></div></script><script type=text/html id=mail-selection-icon><div class="icon-mail-big"></div></script><script type=text/html id=SidebarLayoutDropdown><ul class="popupDropdown one-sidebar--layout-menu" data-bind="visible:!layout.verySmall()"><li class="dropdown-item one-sidebar--layout-menu-item" data-bind="click:layout.selectOneColumn,
  936. trackClick:[
  937. 'layout',
  938. 'stack layout'
  939. ]"><span class="icon-layout-open-stack"></span></li> <li class="dropdown-item one-sidebar--layout-menu-item" data-bind="visible:!layout.isShortView(),
  940. click:layout.selectHorizontalSplit,
  941. trackClick:[
  942. 'layout',
  943. 'horizontal-split layout'
  944. ]"><span class="icon-layout-open-horizontal"></span></li> <li class="dropdown-item one-sidebar--layout-menu-item" data-bind="visible:!layout.isNarrowView(),
  945. click:layout.selectTwoColumn,
  946. trackClick:[
  947. 'layout',
  948. 'vertical-split layout'
  949. ]"><span class="icon-layout-open-split"></span></li></ul></script><script type=text/html id=folder-drag-element-template><div class="drag-label">Moving folder <span data-bind="text:name"></span></div></script><script type=text/html id=onebarLanguageDropdown><ul class="popupDropdown one-bar--locale-selector" data-bind="foreach:localeSwitcher.localeInfos"><li class="dropdown-item" data-bind="click:function(){
  950. $root.localeSwitcher.switchLocale(id);
  951. }"><span data-bind="text:displayName"></span> <span data-bind="visible:id==='en_gb'"><i class="icon-checkmark"></i></span> <span data-bind="attr:{'class':'flags flags-'+id}"></span></li></ul></script><script type=text/html id=toolbarMoreDropdown><ul class="popupDropdown"><li class="dropdown-item" data-bind="visible:shownMailView,
  952. click:printMail,
  953. trackClick:[
  954. 'view mail',
  955. 'print'
  956. ]">Print</li> <li class="dropdown-item" data-bind="visible:hasUnseen(),
  957. click:markAsSeen,
  958. trackClick:[
  959. 'mail list',
  960. 'mark as read'
  961. ]">Mark as read</li> <li class="dropdown-item" data-bind="visible:hasSeen(),
  962. click:markAsUnseen,
  963. trackClick:[
  964. 'mail list',
  965. 'mark as unread'
  966. ]">Mark as unread</li> <li class="dropdown-item" data-bind="visible:hasUnflagged(),
  967. click:addFlag,
  968. trackClick:[
  969. 'mail list',
  970. 'add star'
  971. ]">Add star</li> <li class="dropdown-item" data-bind="visible:hasFlagged(),
  972. click:removeFlag,
  973. trackClick:[
  974. 'mail list',
  975. 'remove star'
  976. ]">Remove star</li> <li class="dropdown-item" data-bind="click:createFilter,
  977. trackClick:[
  978. 'mail list',
  979. 'create filter'
  980. ]">Create filter</li> <li class="dropdown-item" data-bind="click:blockSenders.bind($data,$parents[1]),
  981. trackClick:[
  982. 'mail list',
  983. 'block senders'
  984. ]">Block sender</li> <li class="dropdown-item" data-bind="visible:shownMailView,
  985. click:viewMailSource,
  986. trackClick:[
  987. 'view mail',
  988. 'view source'
  989. ]">View email source</li> <li class="dropdown-item" data-bind="visible:shownMailView,
  990. click:openInNewWindow,
  991. trackClick:[
  992. 'view mail',
  993. 'view in new window'
  994. ]">Open in new window</li> <li class="dropdown-item" data-bind="visible:shownMailView,
  995. click:editMailAsNew,
  996. trackClick:[
  997. 'view mail',
  998. 'edit as new'
  999. ]">Edit as new</li></ul></script><script type=text/html id=recipient-list-item><a class="recipient" data-bind="text:toDisplayString(),
  1000. popupTemplate:{template:'contactCard'}"></a></script><script type=text/html id=recipients-for-printing><span class="recipients-for-printing"><span data-bind="text:$parent.toPrintDisplayString($data)"></span></span></script><script type=text/html id=RteFontDropdownTemplate><div class="rte-toolbar--menu rte-toolbar--popupTemplate" data-bind="foreach:fonts,
  1001. keepInsideScreen:visible"><div class="rte-toolbar--menuoption" data-bind="click:$parent.select,
  1002. text:label,
  1003. style:{fontFamily:family}"></div></div></script><script type=text/html id=RteFontSizeDialogTemplate><div class="rte-toolbar--menu rte-toolbar--popupTemplate" data-bind="foreach:sizes,
  1004. keepInsideScreen:visible"><div data-bind="click:$parent.select,
  1005. attr:{'class':cssClass},
  1006. text:label"></div></div></script><script type=text/html id=RteLinkDialogTemplate><div class="rte-toolbar--dialog rte-toolbar--popupTemplate" data-bind="keepInsideScreen:visible"><div class="rte-toolbar--dialogSection"><div class="rte-toolbar--dialog--label" for="link" data-bind="text:text.title"></div><div class="rte-toolbar--dialog--field"><input type="text" name="link" data-bind="value:link,
  1007. focusWhen:visible,
  1008. event:{keydown:keyDown},
  1009. valueUpdate:'afterkeydown',
  1010. unselectable:false"><div data-bind="visible:warnInvalid,
  1011. text:text.invalid" class="validation-warning"></div></div><div class="rte-toolbar--dialog--label" for="text" data-bind="text:text.textToDisplay"></div><div class="rte-toolbar--dialog--field"><input type="text" name="text" data-bind="value:textOverLink,
  1012. event:{keydown:keyDown},
  1013. valueUpdate:'afterkeydown',
  1014. unselectable:false"></div></div><div class="rte-toolbar--dialogSection" data-bind="unselectable:true"><div class="rte-toolbar--dialog--submission"><button class="one-button-style" data-bind="click:save,
  1015. text:text.save"></button></div></div></div></script><script type=text/html id=RteImageDialogTemplate><div class="rte-toolbar--dialog rte-toolbar--popupTemplate" data-bind="keepInsideScreen:visible"><div class="rte-toolbar--dialogSection"><div class="rte-toolbar--dialog--label" for="imageFile"><span data-bind="text:text.title"></span> <!--ko foreach:reverseSources--><a class="rte-toolbar--imageDialog--sourceSelector" data-bind="click:function(){
  1016. $parent.selectedSource(name);
  1017. },
  1018. css:{disabled:$parent.selectedSource()===name},
  1019. text:$parent.text[name]"></a> <!--/ko--></div><div class="rte-toolbar--dialog--field rte-toolbar--imageDialog--file" data-bind="visible:selectedSource()==='disk'"><span data-bind="visible:imageFile,
  1020. foreach:imageFiles"><span data-bind="text:$data.name" class="rte-toolbar--imageDialog--fileSelected"></span> <i class="icon-rte-remove rte-toolbar--imageDialog--fileClear" data-bind="click:$parent.remove.bind($data)"></i></span> <span data-bind="visible:!imageFile(),
  1021. activateFileInput:{
  1022. handler:imageFile,
  1023. accept:'image/*',
  1024. multiple:multiple
  1025. },
  1026. attr:{title:text.selectFile}" class="rte-toolbar--imageDialog--fileSelector"><button class="one-button-style" data-bind="text:text.selectFile"></button></span></div><div class="rte-toolbar--dialog--field" data-bind="visible:selectedSource()==='url'"><input type="text" name="imageUrl" data-bind="value:imageUrl,
  1027. focusWhen:visible,
  1028. valueUpdate:'afterkeydown',
  1029. unselectable:false" placeholder="http://"></div></div><div class="rte-toolbar--dialogSection" data-bind="unselectable:true"><div class="rte-toolbar--dialog--submission"><button class="one-button-style" data-bind="click:save,
  1030. text:text.save"></button></div></div></div></script><script type=text/html id=RteColorPaletteTemplate><div class="rte-toolbar--colorPalette rte-toolbar--popupTemplate" data-bind="foreach:colors,
  1031. keepInsideScreen:visible"><div class="rte-toolbar--colorSample" data-bind="click:$parent.select,
  1032. style:{backgroundColor:$data},
  1033. attr:{'data-title':$data}"></div></div></script><script type=text/html id=datePickerDropdown><div class="popupDropdown date-selector-dropdown"><one-mini-calendar params="value:dateRange,
  1034. rangeSelection:false,
  1035. onChange:onDateChange"></one-mini-calendar><div class="input-catcher-container"> <input type="text" class="input-catcher"></div></div></script><script type=text/html id=calendarSelectorTemplate><ul class="popupDropdown dropdown-list" data-bind="foreach:calendars"><li class="dropdown-item calendar-dropdown-item" data-bind="click:$parent.selectCalendar"><button data-bind="css:{checked:false},
  1036. style:{backgroundColor:darkBackgroundColor}" class="calendar-checkbox"></button> <span data-bind="text:name"></span></li></ul></script></body></html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement