Initial commit
This commit is contained in:
1299
client/modules/crm/css/vis.css
Normal file
1299
client/modules/crm/css/vis.css
Normal file
File diff suppressed because it is too large
Load Diff
7
client/modules/crm/lib/fullcalendar-moment-timezone.js
Normal file
7
client/modules/crm/lib/fullcalendar-moment-timezone.js
Normal file
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
FullCalendar Moment Timezone Plugin v6.1.8
|
||||
Docs & License: https://fullcalendar.io/docs/moment-timezone-plugin
|
||||
(c) 2023 Adam Shaw
|
||||
*/
|
||||
FullCalendar.MomentTimezone=((e,t,a,l)=>{function n(e){return e&&e.__esModule?e:{default:e}}var r=n(a);class m extends l.NamedTimeZoneImpl{offsetForArray(e){return r.default.tz(e,this.timeZoneName).utcOffset()}timestampToArray(e){return r.default.tz(e,this.timeZoneName).toArray()}}var u=t.createPlugin({name:"@fullcalendar/moment-timezone",namedTimeZonedImpl:m});t.globalPlugins.push(u);e.default=u;Object.defineProperty(e,"__esModule",{value:!0});return e})({},FullCalendar,moment,FullCalendar.Internal);
|
||||
//# sourceMappingURL=fullcalendar-moment-timezone.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fullcalendar-moment-timezone.js","sources":["original/fullcalendar-moment-timezone.js"],"names":["FullCalendar","MomentTimezone","exports","core","moment","internal","_interopDefault","e","__esModule","default","moment__default","MomentNamedTimeZone","NamedTimeZoneImpl","offsetForArray","a","tz","this","timeZoneName","utcOffset","timestampToArray","ms","toArray","plugin","createPlugin","name","namedTimeZonedImpl","globalPlugins","push","Object","defineProperty","value","Internal"],"mappings":";;;;EAKAA;aAAaC,gBAAiB,CAAWC,EAASC,EAAMC,EAAQC,KAG5D,SAASC,EAAiBC,GAAK,OAAOA,GAAKA,EAAEC,WAAaD,EAAI,CAAEE,QAAWF,CAAE,CAAG,CAEhF,IAAIG,EAA+BJ,EAAgBF,CAAM,QAEnDO,UAA4BN,EAASO,kBACvCC,eAAeC,GACX,OAAOJ,EAAyB,QAAEK,GAAGD,EAAGE,KAAKC,YAAY,EAAEC,UAAU,CACzE,CACAC,iBAAiBC,GACb,OAAOV,EAAyB,QAAEK,GAAGK,EAAIJ,KAAKC,YAAY,EAAEI,QAAQ,CACxE,CACJ,CAEA,IAAIC,EAASnB,EAAKoB,aAAa,CAC3BC,KAAM,gCACNC,mBAAoBd,CACxB,CAAC,EAEDR,EAAKuB,cAAcC,KAAKL,CAAM,EAE9BpB,EAAiB,QAAIoB,EAErBM,OAAOC,eAAe3B,EAAS,aAAc,CAAE4B,MAAO,CAAA,CAAK,CAAC,EAE5D,OAAO5B,CAEV,GAAE,GAAIF,aAAcI,OAAQJ,aAAa+B,QAAQ"}
|
||||
7
client/modules/crm/lib/fullcalendar-moment.js
Normal file
7
client/modules/crm/lib/fullcalendar-moment.js
Normal file
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
FullCalendar Moment Plugin v6.1.8
|
||||
Docs & License: https://fullcalendar.io/docs/moment-plugin
|
||||
(c) 2023 Adam Shaw
|
||||
*/
|
||||
FullCalendar.Moment=((e,t,l,n)=>{function a(e){return e&&e.__esModule?e:{default:e}}var r=a(l);function u(e,t,l,n){let a;if("local"===t)a=r.default(e);else if("UTC"===t)a=r.default.utc(e);else if(r.default.tz)a=r.default.tz(e,t);else{a=r.default.utc(e);null!=l&&a.utcOffset(l)}a.locale(n);return a}function o(t){return e=>e?t.format(e):""}var d=t.createPlugin({name:"@fullcalendar/moment",cmdFormatter:function(e,t){var l,n,a=function t(e){let l=e.match(/^(.*?)\{(.*)\}(.*)$/);if(l){let e=t(l[2]);return{head:l[1],middle:e,tail:l[3],whole:l[1]+e.whole+l[3]}}return{head:null,middle:null,tail:null,whole:e}}(e);return t.end?(l=u(t.start.array,t.timeZone,t.start.timeZoneOffset,t.localeCodes[0]),n=u(t.end.array,t.timeZone,t.end.timeZoneOffset,t.localeCodes[0]),function u(o,d,i,f){if(o.middle){let e=d(o.head),t=u(o.middle,d,i,f),l=d(o.tail),n=i(o.head),a=u(o.middle,d,i,f),r=i(o.tail);if(e===n&&l===r)return e+(t===a?t:t+f+a)+l}let e=d(o.whole);let t=i(o.whole);if(e===t)return e;return e+f+t}(a,o(l),o(n),t.defaultSeparator)):u(t.date.array,t.timeZone,t.date.timeZoneOffset,t.localeCodes[0]).format(a.whole)}});t.globalPlugins.push(d);e.default=d;e.toMoment=function(e,t){var l;if(t instanceof n.CalendarImpl)return l=t.getCurrentData().dateEnv,u(e,l.timeZone,null,l.locale.codes[0]);throw new Error("must supply a CalendarApi instance")};e.toMomentDuration=function(e){return r.default.duration(e)};Object.defineProperty(e,"__esModule",{value:!0});return e})({},FullCalendar,moment,FullCalendar.Internal);
|
||||
//# sourceMappingURL=fullcalendar-moment.js.map
|
||||
1
client/modules/crm/lib/fullcalendar-moment.js.map
Normal file
1
client/modules/crm/lib/fullcalendar-moment.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fullcalendar-moment.js","sources":["original/fullcalendar-moment.js"],"names":["FullCalendar","Moment","exports","core","moment","internal","_interopDefault","e","__esModule","default","moment__default","convertToMoment","input","timeZone","timeZoneOffset","locale","let","mom","utc","tz","utcOffset","createMomentFormatFunc","cmdStr","format","plugin","createPlugin","name","cmdFormatter","arg","startMom","endMom","cmd","parseCmdStr","parts","match","middle","head","tail","whole","end","start","array","localeCodes","formatRange","formatStart","formatEnd","separator","startHead","startMiddle","startTail","endHead","endMiddle","endTail","startWhole","endWhole","defaultSeparator","date","globalPlugins","push","toMoment","calendar","dateEnv","CalendarImpl","getCurrentData","codes","Error","toMomentDuration","fcDuration","duration","Object","defineProperty","value","Internal"],"mappings":"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"}
|
||||
7
client/modules/crm/lib/fullcalendar.js
Normal file
7
client/modules/crm/lib/fullcalendar.js
Normal file
File diff suppressed because one or more lines are too long
1
client/modules/crm/lib/fullcalendar.js.map
Normal file
1
client/modules/crm/lib/fullcalendar.js.map
Normal file
File diff suppressed because one or more lines are too long
8
client/modules/crm/lib/vis-data.js
Normal file
8
client/modules/crm/lib/vis-data.js
Normal file
File diff suppressed because one or more lines are too long
1
client/modules/crm/lib/vis-data.js.map
Normal file
1
client/modules/crm/lib/vis-data.js.map
Normal file
File diff suppressed because one or more lines are too long
8
client/modules/crm/lib/vis-timeline.js
Normal file
8
client/modules/crm/lib/vis-timeline.js
Normal file
File diff suppressed because one or more lines are too long
1
client/modules/crm/lib/vis-timeline.js.map
Normal file
1
client/modules/crm/lib/vis-timeline.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
<div class="calendar-container no-window-scroll">
|
||||
{{{calendar}}}
|
||||
</div>
|
||||
32
client/modules/crm/res/templates/calendar/calendar.tpl
Normal file
32
client/modules/crm/res/templates/calendar/calendar.tpl
Normal file
@@ -0,0 +1,32 @@
|
||||
{{#if header}}
|
||||
<div class="row button-container">
|
||||
<div class="col-sm-4 col-xs-5">
|
||||
<div class="btn-group range-switch-group">
|
||||
<button class="btn btn-text btn-icon" data-action="prev"><span class="fas fa-chevron-left"></span></button>
|
||||
<button class="btn btn-text btn-icon" data-action="next"><span class="fas fa-chevron-right"></span></button>
|
||||
</div>
|
||||
<div class="btn-group range-switch-group">
|
||||
<button class="btn btn-text strong" data-action="today" title="{{todayLabel}}">
|
||||
<span class="hidden-sm hidden-xs">{{todayLabel}}</span><span class="visible-sm visible-xs">{{todayLabelShort}}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="btn btn-text{{#unless isCustomView}} hidden{{/unless}} btn-icon"
|
||||
data-action="editCustomView"
|
||||
title="{{translate 'Edit'}}"
|
||||
><span class="fas fa-pencil-alt fa-sm"></span></button>
|
||||
</div>
|
||||
|
||||
<div class="date-title col-sm-4 col-xs-7">
|
||||
<h4><span style="cursor: pointer;" data-action="refresh" title="{{translate 'Refresh'}}"></span></h4></div>
|
||||
|
||||
<div class="col-sm-4 col-xs-12">
|
||||
<div class="btn-group pull-right mode-buttons">
|
||||
{{{modeButtons}}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="calendar"></div>
|
||||
20
client/modules/crm/res/templates/calendar/modals/edit.tpl
Normal file
20
client/modules/crm/res/templates/calendar/modals/edit.tpl
Normal file
@@ -0,0 +1,20 @@
|
||||
{{#if isNew}}
|
||||
<div class="scope-switcher radio-container">
|
||||
{{#each scopeList}}
|
||||
<div>
|
||||
<label class="radio-label">
|
||||
<input
|
||||
type="radio"
|
||||
name="scope"
|
||||
class="form-radio"
|
||||
{{#ifEqual this ../scope}} checked{{/ifEqual}}
|
||||
value="{{./this}}"
|
||||
>
|
||||
{{translate this category='scopeNames'}}
|
||||
</label>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="edit-container record no-side-margin">{{{edit}}}</div>
|
||||
53
client/modules/crm/res/templates/calendar/mode-buttons.tpl
Normal file
53
client/modules/crm/res/templates/calendar/mode-buttons.tpl
Normal file
@@ -0,0 +1,53 @@
|
||||
{{#each visibleModeDataList}}
|
||||
<button class="btn btn-text strong{{#ifEqual mode ../mode}} active{{/ifEqual}}" data-action="mode" data-mode="{{mode}}" title="{{label}}"><span class="hidden-md hidden-sm hidden-xs">{{label}}</span><span class="visible-md visible-sm visible-xs">{{labelShort}}</span></button>
|
||||
{{/each}}
|
||||
<div class="btn-group" role="group">
|
||||
<button type="button" class="btn btn-text dropdown-toggle" data-toggle="dropdown"><span class="fas fa-ellipsis-h"></span></button>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
{{#each hiddenModeDataList}}
|
||||
<li>
|
||||
<a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
class="{{#ifEqual mode ../mode}} active{{/ifEqual}}"
|
||||
data-action="mode"
|
||||
data-mode="{{mode}}"
|
||||
>{{label}}</a>
|
||||
</li>
|
||||
{{/each}}
|
||||
{{#if hiddenModeDataList.length}}
|
||||
<li class="divider"></li>
|
||||
{{/if}}
|
||||
{{#each scopeFilterDataList}}
|
||||
<li>
|
||||
<a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
data-action="toggleScopeFilter"
|
||||
data-name="{{scope}}"
|
||||
>
|
||||
<span class="fas fa-check filter-check-icon check-icon pull-right{{#if disabled}} hidden{{/if}}"></span>
|
||||
<div>{{translate scope category='scopeNamesPlural'}}</div>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
{{/each}}
|
||||
{{#if hasMoreItems}}
|
||||
<li class="divider"></li>
|
||||
{{/if}}
|
||||
{{#if isCustomViewAvailable}}
|
||||
<li>
|
||||
<a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
data-action="createCustomView"
|
||||
>{{translate 'Create Shared View' scope='Calendar'}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if hasWorkingTimeCalendarLink}}
|
||||
<li>
|
||||
<a href="#WorkingTimeCalendar">{{translate 'WorkingTimeCalendar' category='scopeNamesPlural'}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
55
client/modules/crm/res/templates/calendar/timeline.tpl
Normal file
55
client/modules/crm/res/templates/calendar/timeline.tpl
Normal file
@@ -0,0 +1,55 @@
|
||||
<link href="{{basePath}}client/modules/crm/css/vis.css" rel="stylesheet">
|
||||
|
||||
{{#if header}}
|
||||
<div class="row button-container">
|
||||
<div class="col-sm-4 col-xs-12">
|
||||
<div class="btn-group">
|
||||
<button
|
||||
class="btn btn-text btn-icon"
|
||||
title="{{translate 'Refresh'}}"
|
||||
data-action="refresh"
|
||||
><span class="fas fa-sync-alt"></span></button>
|
||||
<button
|
||||
class="btn btn-text"
|
||||
data-action="today"
|
||||
>{{translate 'Today' scope='Calendar'}}</button>
|
||||
</div>{{#if calendarTypeSelectEnabled}}<div class="btn-group calendar-type-button-group">
|
||||
<div class="btn-group " role="group">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-text dropdown-toggle"
|
||||
data-toggle="dropdown"
|
||||
><span class="calendar-type-label">{{calendarTypeLabel}}</span> <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
{{#each calendarTypeDataList}}
|
||||
<li>
|
||||
<a role="button" tabindex="0" data-action="toggleCalendarType" data-name="{{type}}">
|
||||
<span
|
||||
class="fas fa-check calendar-type-check-icon pull-right{{#if disabled}} hidden{{/if}}"
|
||||
></span> {{label}}
|
||||
</a>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<button
|
||||
class="btn btn-text{{#ifNotEqual calendarType 'shared'}} hidden{{/ifNotEqual}} btn-icon"
|
||||
data-action="showSharedCalendarOptions"
|
||||
title="{{translate 'Shared Mode Options' scope='Calendar'}}"
|
||||
><span class="fas fa-pencil-alt fa-sm"></span></button>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="date-title col-sm-4 hidden-xs">
|
||||
<h4><span style="cursor: pointer;" data-action="refresh" title="{{translate 'Refresh'}}"></span></h4></div>
|
||||
|
||||
<div class="col-sm-4 col-xs-12">
|
||||
<div class="btn-group pull-right mode-buttons">
|
||||
{{{modeButtons}}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="timeline"></div>
|
||||
@@ -0,0 +1 @@
|
||||
{{{value}}}
|
||||
@@ -0,0 +1,11 @@
|
||||
<div class="row">
|
||||
<div class="cell col-md-6">
|
||||
<div class="field" data-name="link">
|
||||
<select class="form-control" data-name="link">
|
||||
{{#each linkList}}
|
||||
<option value="{{./this}}">{{translate this category='links' scope='TargetList'}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
21
client/modules/crm/res/templates/campaign/unsubscribe.tpl
Normal file
21
client/modules/crm/res/templates/campaign/unsubscribe.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
<div class="container content">
|
||||
<div class="block-center-md">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
{{#if isSubscribed}}
|
||||
<a
|
||||
class="btn btn-primary{{#if inProcess}} disabled{{/if}}"
|
||||
data-action="unsubscribe"
|
||||
>{{translate 'Unsubscribe' scope='Campaign'}}</a>
|
||||
{{else}}
|
||||
<a
|
||||
class="btn btn-default{{#if inProcess}} disabled{{/if}}"
|
||||
data-action="subscribe"
|
||||
>{{translate 'Subscribe again' scope='Campaign'}}</a>
|
||||
{{/if}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
{{#if accountIsInactive}}<del>{{/if}}<span title="{{value}}">{{value}}</span>{{#if accountIsInactive}}</del>{{/if}}
|
||||
9
client/modules/crm/res/templates/document/list.tpl
Normal file
9
client/modules/crm/res/templates/document/list.tpl
Normal file
@@ -0,0 +1,9 @@
|
||||
<div class="page-header">{{{header}}}</div>
|
||||
<div class="search-container">{{{search}}}</div>
|
||||
|
||||
<div class="row">
|
||||
{{#unless categoriesDisabled}}
|
||||
<div class="categories-container{{#unless categoriesDisabled}} col-md-3 col-sm-4{{else}} col-md-12{{/unless}}">{{{categories}}}</div>
|
||||
{{/unless}}
|
||||
<div class="list-container{{#unless categoriesDisabled}} col-md-9 col-sm-8{{else}} col-md-12{{/unless}}">{{{list}}}</div>
|
||||
</div>
|
||||
@@ -0,0 +1,14 @@
|
||||
<div class="search-container">{{{search}}}</div>
|
||||
|
||||
<div class="row">
|
||||
{{#unless categoriesDisabled}}
|
||||
<div class="categories-container{{#unless categoriesDisabled}} col-md-3 col-sm-4{{else}} col-md-12{{/unless}}">{{{categories}}}</div>
|
||||
{{/unless}}
|
||||
<div class="list-container{{#unless categoriesDisabled}} col-md-9 col-sm-8{{else}} col-md-12{{/unless}}">{{{list}}}</div>
|
||||
</div>
|
||||
|
||||
{{#if createButton}}
|
||||
<div class="button-container">
|
||||
<button class="btn btn-default" data-action="create">{{translate 'Create'}}</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
@@ -0,0 +1,36 @@
|
||||
<div class="container content">
|
||||
<div class="block-center-md">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<h4 class="margin-bottom-2x">{{actionData.translatedEntityType}}: {{actionData.eventName}}</h4>
|
||||
{{#if dateStart}}
|
||||
<div class="margin-bottom-2x">
|
||||
{{#if dateStartChanged}}
|
||||
<div style="text-decoration: line-through;">{{sentDateStart}}</div>
|
||||
{{/if}}
|
||||
<div>{{dateStart}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div>
|
||||
<span class="label label-{{style}} label-md">{{actionData.translatedStatus}}</span>
|
||||
<div class="btn-group">
|
||||
{{#if actionDataList}}
|
||||
<a role="button" class="dropdown-toggle text-soft" data-toggle="dropdown">
|
||||
<span class="fas fa-ellipsis-h"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
{{#each actionDataList}}
|
||||
<li>
|
||||
<a {{#if link}}href="{{link}}"{{/if}}>{{label}}
|
||||
{{#if active}}<span class="fas fa-check pull-right"></span>{{/if}}
|
||||
</a>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,10 @@
|
||||
<div class="page-header">{{{header}}}</div>
|
||||
<div class="search-container">{{{search}}}</div>
|
||||
|
||||
<div class="row">
|
||||
{{#unless categoriesDisabled}}
|
||||
<div class="categories-container{{#unless categoriesDisabled}} col-md-3 col-sm-4{{else}} col-md-12{{/unless}}">{{{categories}}}</div>
|
||||
{{/unless}}
|
||||
<div class="list-container{{#unless categoriesDisabled}} col-md-9 col-sm-8{{else}} col-md-12{{/unless}}">{{{list}}}</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<div class="search-container">{{{search}}}</div>
|
||||
|
||||
<div class="row">
|
||||
{{#unless categoriesDisabled}}
|
||||
<div class="categories-container{{#unless categoriesDisabled}} col-md-3 col-sm-4{{else}} col-md-12{{/unless}}">{{{categories}}}</div>
|
||||
{{/unless}}
|
||||
<div class="list-container{{#unless categoriesDisabled}} col-md-9 col-sm-8{{else}} col-md-12{{/unless}}">{{{list}}}</div>
|
||||
</div>
|
||||
|
||||
{{#if createButton}}
|
||||
<div class="button-container">
|
||||
<button class="btn btn-default" data-action="create">{{translate 'Create'}}</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
24
client/modules/crm/res/templates/lead/convert.tpl
Normal file
24
client/modules/crm/res/templates/lead/convert.tpl
Normal file
@@ -0,0 +1,24 @@
|
||||
<div class="header page-header">{{{header}}}</div>
|
||||
|
||||
{{#each scopeList}}
|
||||
<div class="record">
|
||||
<label style="user-select: none; cursor: pointer;" class="text-large">
|
||||
<input
|
||||
type="checkbox"
|
||||
class="check-scope form-checkbox"
|
||||
data-scope="{{./this}}"
|
||||
>
|
||||
<span>{{translate this category='scopeNames'}}</span>
|
||||
</label>
|
||||
<div class="edit-container-{{toDom this}} hide">
|
||||
{{{var this ../this}}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
|
||||
<div class="button-container margin-top">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-primary" data-action="convert">{{translate 'Convert' scope='Lead'}}</button>
|
||||
<button class="btn btn-default" data-action="cancel">{{translate 'Cancel'}}</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
{{#if value}}
|
||||
{{{value}}}
|
||||
{{else}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{/if}}
|
||||
@@ -0,0 +1,6 @@
|
||||
<div class="reminders-container"></div>
|
||||
<button
|
||||
data-action="addReminder"
|
||||
class="btn btn-default"
|
||||
type="button"
|
||||
><span class="fas fa-plus"></span></button>
|
||||
@@ -0,0 +1,22 @@
|
||||
{{#if closeButton}}
|
||||
<a role="button" tabindex="0" class="pull-right close" data-action="close" aria-hidden="true"><span class="fas fa-times"></span></a>
|
||||
{{/if}}
|
||||
<h4>{{header}}</h4>
|
||||
|
||||
|
||||
<div class="cell form-group">
|
||||
<div class="field">
|
||||
<a
|
||||
href="#{{notificationData.entityType}}/view/{{notificationData.id}}"
|
||||
data-action="close"
|
||||
>{{notificationData.name}}</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="cell form-group" data-name="{{dateField}}">
|
||||
<div class="field" data-name="{{dateField}}">
|
||||
{{{date}}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<div class="list-container">
|
||||
{{{list}}}
|
||||
</div>
|
||||
Reference in New Issue
Block a user