v1.1.6.0
This commit is contained in:
@@ -101,7 +101,7 @@
|
||||
|
||||
.sax-profile #pnlContactImageDrop.sax-panel-drop *
|
||||
{
|
||||
pointer-events: none;
|
||||
/*pointer-events: none;*/
|
||||
}
|
||||
|
||||
.sax-profile #pnlContactImageDrop.sax-panel-drop.sax-file-drag
|
||||
|
||||
@@ -98,6 +98,85 @@
|
||||
background-color: #c0c0c0;
|
||||
}
|
||||
|
||||
/* Panel header - Burger */
|
||||
|
||||
.sax-header ul.nav.sax-burger
|
||||
{
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu
|
||||
{
|
||||
padding: 4px 8px 4px 4px;
|
||||
box-shadow: 0 0 8px 2px #80808080;
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item
|
||||
{
|
||||
margin: 2px 4px 2px 0;
|
||||
padding: 2px 4px 2px 30px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-refresh
|
||||
{
|
||||
background-image: url('../img/action/refresh24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-add
|
||||
{
|
||||
background-image: url('../img/action/add24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-edit
|
||||
{
|
||||
background-image: url('../img/action/edit24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-remove
|
||||
{
|
||||
background-image: url('../img/action/delete24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-experience
|
||||
{
|
||||
background-image: url('../img/action/trophy24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-user
|
||||
{
|
||||
background-image: url('../img/action/user24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-users
|
||||
{
|
||||
background-image: url('../img/action/users24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item.sax-process
|
||||
{
|
||||
background-image: url('../img/action/process24.png');
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item:hover
|
||||
{
|
||||
background-color: #f8f8f8;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item .sax-label
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sax-header ul.nav.sax-burger ul.sax-dropdown-menu li.sax-action.sax-dropdown-item:hover .sax-label
|
||||
{
|
||||
background-color: #f8f8f8;
|
||||
box-shadow: 0 0 2px 1px #80808080;
|
||||
}
|
||||
|
||||
/* Data Items panel */
|
||||
|
||||
.sax-panel-results
|
||||
@@ -154,15 +233,7 @@
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.sax-panel-item > .sax-header ul.nav.sax-burger
|
||||
{
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.sax-panel-item > .sax-header .dropdown-menu
|
||||
{
|
||||
padding: 4px 8px;
|
||||
}
|
||||
/* Actions */
|
||||
|
||||
.sax-panel-item > .sax-header .sax-action
|
||||
{
|
||||
@@ -233,7 +304,7 @@
|
||||
background-color: var(--color-article-pale);
|
||||
}
|
||||
|
||||
/* Opportunitys */
|
||||
/* Opportunities */
|
||||
|
||||
.sax-panel-item.Opportunity,
|
||||
.sax-panel-item.Opportunity > .sax-header
|
||||
|
||||
@@ -55,23 +55,29 @@
|
||||
}
|
||||
|
||||
#dlgActivity .sax-panel-item.Article .ArticleSummary,
|
||||
#dlgActivity .sax-panel-item.Article .ArticleAuthor,
|
||||
#dlgActivity .sax-panel-item.Opportunity .OpportunityOrganisation,
|
||||
#dlgActivity .sax-panel-item.Opportunity .OpportunityPosition,
|
||||
#dlgActivity .sax-panel-item.Opportunity .OpportunityOutline
|
||||
{
|
||||
margin: 0;
|
||||
padding: 8px 8px;
|
||||
font-size: 1.5rem;
|
||||
font-size: 1.25rem;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #b0b0b0;
|
||||
}
|
||||
|
||||
#dlgActivity .sax-panel-item.Article .ArticleAuthor
|
||||
#dlgActivity .sax-panel-item.Article .ArticleOrigin
|
||||
{
|
||||
padding: 4px 8px;
|
||||
font-size: .9rem;
|
||||
font-weight: bold;
|
||||
background-color: #f8f8f8;
|
||||
border-bottom: 1px solid #b0b0b0;
|
||||
}
|
||||
|
||||
#dlgActivity .sax-panel-item.Article .ArticleAuthor,
|
||||
#dlgActivity .sax-panel-item.Article .ArticleOrganisation
|
||||
{
|
||||
font-size: .9rem;
|
||||
}
|
||||
|
||||
#dlgActivity .sax-panel-item.Opportunity
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 767 B |
@@ -5,7 +5,6 @@
|
||||
(function (win, doc, undef)
|
||||
{
|
||||
"use strict";
|
||||
sax.itemIdPrefix = 'Itm_';
|
||||
sax.segIdPrefix = 'Seg_';
|
||||
sax.classFileDrag = 'sax-file-drag';
|
||||
let $pnl = sax.$pnl, $frm = sax.$frm;
|
||||
@@ -16,8 +15,9 @@
|
||||
{
|
||||
if (!sax.awaitingRefreshResponse)
|
||||
{
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
var $msgs = $('.sax-panel-messages', $pnl.results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
$('.sax-burger', $pnl.filter).hide();
|
||||
$('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
$('.sax-panel-messages', $pnl.results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
}
|
||||
sax.ajax.refreshResults = sax.ajax.refreshResults || { url: sax.url.base + 'Article/Ajax/GetList', formId: 'frmArticleFilter', callbackFn: sax.doRefreshResults };
|
||||
sax.doAjaxRequest(sax.ajax.refreshResults, delay || 50);
|
||||
@@ -30,26 +30,27 @@
|
||||
sax.refreshControlValues(response.controlValues);
|
||||
var $msgs = $('.sax-panel-messages', $pnl.results).hide().empty();
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).hide().empty();
|
||||
var $tmpl = $('.sax-panel-item-template .sax-panel-item', $pnl.results);
|
||||
if (!response.success) return;
|
||||
sax.data.articleOrganisations = response.organisations;
|
||||
sax.refreshPaging(response);
|
||||
// Menu.
|
||||
let $mnu = $('.sax-burger ul.sax-dropdown-menu', $pnl.filter).empty();
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.refresh, function () { sax.refreshResults(); }, 'sax-refresh'));
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.add, function () { sax.createItem(); }, 'sax-add'));
|
||||
$('.sax-burger', $pnl.filter).toggle(!!$('.sax-dropdown-item', $mnu).length);
|
||||
// Items.
|
||||
var items = response.articles;
|
||||
if (!items.length)
|
||||
return $msgs.append($('<div class="sax-message">' + sax.msg.dataNoneFound + '</div>')).fadeIn(500);
|
||||
for (let itemIdx = 0; itemIdx < items.length; itemIdx++)
|
||||
{
|
||||
let item = items[itemIdx];
|
||||
let $item = $tmpl.clone();
|
||||
sax.populateItem($item, item);
|
||||
$items.append($item);
|
||||
}
|
||||
$items.append(sax.populateItem(sax.getItemTemplate(), items[itemIdx]));
|
||||
$items.fadeIn(50);
|
||||
}
|
||||
sax.populateItem = function ($item, item)
|
||||
{
|
||||
if (!item) return;
|
||||
$item.prop('id', sax.itemIdPrefix + item.id);
|
||||
$('.sax-panel-messages', $pnl.results).hide().empty();
|
||||
$item.prop('id', sax.getItemId(item.id));
|
||||
$('.ArticleHeadline', $item).text(item.headline);
|
||||
$('.ArticleSummary', $item).text(item.summary);
|
||||
$('.ArticleRegionCaption', $item).text(item.regionCaptionPrimary);
|
||||
@@ -58,9 +59,51 @@
|
||||
$('.ArticlePublishedOn', $item).text(item.publishedOnFmt);
|
||||
$('.ArticlePublished', $item).toggle(!!item.publishedOnFmt);
|
||||
$('.ArticleStatusDesc', $item).text(item.statusDesc);
|
||||
$('.sax-caption .sax-action, .sax-actions .sax-action.sax-item-update', $item).off('click').on('click', function () { sax.updateItem(item.id) })
|
||||
$item.off('dblclick').on('dblclick', function () { sax.updateItem(item.id) })
|
||||
$('.sax-panel-messages', $pnl.results).hide().empty();
|
||||
let $bgr = $('.sax-burger', $item);
|
||||
let $mnu = $('ul.sax-dropdown-menu', $bgr).empty();
|
||||
if (!item.deleted)
|
||||
{
|
||||
let fnUpd = function () { sax.updateItem(item) };
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.edit, fnUpd, 'sax-edit'));
|
||||
$('.sax-caption .sax-action', $item).off('click').on('click', fnUpd);
|
||||
}
|
||||
else $('.sax-caption .sax-action', $item).removeClass('sax-action');
|
||||
$bgr.toggle(!!$('.sax-dropdown-menu .sax-dropdown-item', $item).length);
|
||||
return $item;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.getItemId = function (id)
|
||||
{
|
||||
return 'Itm_' + id;
|
||||
}
|
||||
sax.getFilterDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Articles li.sax-dropdown-item', $pnl.filter).clone();
|
||||
}
|
||||
sax.getItemTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-panel-item.Article', $pnl.results).clone();
|
||||
}
|
||||
sax.getItemDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Article li.sax-dropdown-item', $pnl.results).clone();
|
||||
}
|
||||
sax.getSegmentTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-panel-item.ArticleSegment', ac.$content).clone();
|
||||
}
|
||||
sax.getFilterMenuOption = function (lbl, fn, cls)
|
||||
{
|
||||
return sax.getMenuOption(sax.getFilterDropdownTemplate(), lbl, fn, cls);
|
||||
}
|
||||
sax.getItemMenuOption = function (lbl, fn, cls)
|
||||
{
|
||||
return sax.getMenuOption(sax.getItemDropdownTemplate(), lbl, fn, cls);
|
||||
}
|
||||
sax.getMenuOption = function ($opt, lbl, fn, cls)
|
||||
{
|
||||
return $opt.find('div.sax-label').text(lbl).end().on('click', fn).addClass(cls);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
@@ -106,7 +149,7 @@
|
||||
{
|
||||
return;
|
||||
}
|
||||
let $seg = $('.sax-panel-item-template .sax-panel-item.ArticleSegment', ac.$content).clone().prop('id', segId)
|
||||
let $seg = sax.getSegmentTemplate().prop('id', segId)
|
||||
if (seg.body)
|
||||
{
|
||||
$('.sax-article-segment-body', $seg).html(seg.body.html);
|
||||
@@ -294,19 +337,20 @@
|
||||
sax.createItem = function ()
|
||||
{
|
||||
sax.clearItem();
|
||||
let orgId = $('#ifFilterOrganisationId', $frm.filter).val();
|
||||
$('#ifArticleOrganisationId', $frm.article).val(orgId);
|
||||
$('#ifArticleOrganisation', $frm.article).val($('#ifFilterOrganisation', $frm.filter).val());
|
||||
$('.sax-form-control.ArticleOrganisation', $frm.article).toggle(!!orgId);
|
||||
sax.populateArticleContent({});
|
||||
sax.openArticleDialog(sax.dlg.title.createArticle);
|
||||
}
|
||||
sax.clearItem = function ()
|
||||
{
|
||||
let frm = $frm.article;
|
||||
$('#ifArticleId,#ifArticleExists,#ifArticleOrganisationId,#ifArticleRegionId,#ifArticleSportId,input[type="text"],textarea,select', frm).val('');
|
||||
$('#chkArticlePublish', frm).prop("checked", false);
|
||||
$('.sax-input.sax-calendar.ArticlePublishOn', frm).datepicker('setDate', 'today');
|
||||
let $frmF = $frm.filter;
|
||||
let $frmA = $frm.article;
|
||||
$('#ifArticleId,#ifArticleExists,#ifArticleOrganisationId,#ifArticleRegionId,#ifArticleSportId,input[type="text"],textarea,select', $frmA).val('');
|
||||
let orgId = $('#ifFilterOrganisationId', $frmF).val();
|
||||
$('#ifArticleOrganisationId', $frmA).val(orgId);
|
||||
$('#ifArticleOrganisation', $frmA).val($('#ifFilterOrganisation', $frmF).val());
|
||||
$('.sax-form-control.ArticleOrganisation', $frmA).toggle(!!orgId);
|
||||
$('#chkArticlePublish', $frmA).prop("checked", false);
|
||||
$('.sax-input.sax-calendar.ArticlePublishOn', $frmA).datepicker('setDate', 'today');
|
||||
sax.clearControlErrors();
|
||||
}
|
||||
sax.openArticleDialog = function (title)
|
||||
@@ -318,9 +362,9 @@
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.updateItem = function (id)
|
||||
sax.updateItem = function (item)
|
||||
{
|
||||
$('.ArticleId', $frm.articleId).val(id);
|
||||
$('.ArticleId', $frm.articleId).val(item.id);
|
||||
sax.ajax.updateItem = sax.ajax.updateItem || { url: sax.url.base + 'Article/Ajax/GetItem', formId: 'frmArticleId', callbackFn: sax.onUpdateItem };
|
||||
sax.doAjaxRequest(sax.ajax.updateItem, 50);
|
||||
}
|
||||
@@ -329,21 +373,21 @@
|
||||
//sax.debug('onUpdateItem', response);
|
||||
sax.clearItem();
|
||||
if (!response.success) return;
|
||||
let frm = $frm.article;
|
||||
let $frmA = $frm.article;
|
||||
let item = response.article;
|
||||
$('#ifArticleId', frm).val(item.id);
|
||||
$('#ifArticleExists', frm).val(1);
|
||||
$('#ifArticleHeadline', frm).val(item.headline);
|
||||
$('#ifArticleSummary', frm).val(item.summary);
|
||||
$('#ifArticleRegionId', frm).val(item.regionIdPrimary);
|
||||
$('#ifArticleRegionCaption', frm).val(item.regionCaptionPrimary);
|
||||
$('#ifArticleSportId', frm).val(item.sportIdPrimary);
|
||||
$('#ifArticleSportCaption', frm).val(item.sportCaptionPrimary);
|
||||
$('#ifArticleId', $frmA).val(item.id);
|
||||
$('#ifArticleExists', $frmA).val(1);
|
||||
$('#ifArticleHeadline', $frmA).val(item.headline);
|
||||
$('#ifArticleSummary', $frmA).val(item.summary);
|
||||
$('#ifArticleRegionId', $frmA).val(item.regionIdPrimary);
|
||||
$('#ifArticleRegionCaption', $frmA).val(item.regionCaptionPrimary);
|
||||
$('#ifArticleSportId', $frmA).val(item.sportIdPrimary);
|
||||
$('#ifArticleSportCaption', $frmA).val(item.sportCaptionPrimary);
|
||||
if (item.published)
|
||||
$('span.ArticlePublishedOn', frm).text(item.publishedOnFmt);
|
||||
$('div.ArticlePublish', frm).toggle(!item.published);
|
||||
$('div.ArticlePublished', frm).toggle(!!item.published);
|
||||
$('#cbArticleStatusCode', frm).val(item.statusCode);
|
||||
$('span.ArticlePublishedOn', $frmA).text(item.publishedOnFmt);
|
||||
$('div.ArticlePublish', $frmA).toggle(!item.published);
|
||||
$('div.ArticlePublished', $frmA).toggle(!!item.published);
|
||||
$('#cbArticleStatusCode', $frmA).val(item.statusCode);
|
||||
sax.populateArticleContent(item.content);
|
||||
sax.openArticleDialog(sax.dlg.title.updateArticle);
|
||||
}
|
||||
@@ -394,10 +438,10 @@
|
||||
sax.$dlg.article.dialog('close');
|
||||
|
||||
var item = response.article;
|
||||
var $item = $('#' + sax.itemIdPrefix + item.id);
|
||||
var $item = $('#' + sax.getItemId(item.id));
|
||||
if (!$item.length)
|
||||
{
|
||||
$item = $('.sax-panel-item-template .sax-panel-item', $pnl.results).clone();
|
||||
$item = sax.getItemTemplate();
|
||||
$('.sax-panel-item-list', $pnl.results).prepend($item).show();
|
||||
}
|
||||
sax.populateItem($item, item)
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
}
|
||||
sax.showActivityDetails = function (response)
|
||||
{
|
||||
//sax.debug('showActivityDetails', response);
|
||||
sax.debug('showActivityDetails', response);
|
||||
let $act = $('#dlgActivity .sax-content').empty();
|
||||
let item;
|
||||
if (item = response.article)
|
||||
@@ -86,7 +86,9 @@
|
||||
let $segs = $('.ArticleContentSegments', $itm);
|
||||
$('.ArticleHeadline', $itm).text(item.headline);
|
||||
$('.ArticleSummary', $itm).text(item.summary).toggle(!!item.summary);
|
||||
$('.ArticleAuthor', $itm).text(item.author).toggle(!!item.author);
|
||||
$('.ArticleAuthor', $itm).text(item.author);
|
||||
$('.ArticleOrganisation', $itm).text(item.organisation);
|
||||
$('.ArticleOrigin', $itm).toggle(!!(item.author||item.organisation));
|
||||
let segs = item.content.segments;
|
||||
for (let segIdx = 0; segIdx < segs.length; segIdx++)
|
||||
{
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
(function (win, doc, undef)
|
||||
{
|
||||
"use strict";
|
||||
let $pnl = sax.$pnl, $frm = sax.$frm, $dlg = sax.$dlg;
|
||||
sax.members = {};
|
||||
sax.itemIdPrefix = 'Itm_';
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.refreshResults = function (delay)
|
||||
@@ -14,89 +14,94 @@
|
||||
sax.data.userCanManageMembers = false;
|
||||
if (!sax.awaitingRefreshResponse)
|
||||
{
|
||||
var $items = $('.sax-panel-item-list', sax.$pnl.results).fadeOut(200).empty();
|
||||
var $msgs = $('.sax-panel-messages', sax.$pnl.results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
$('.sax-burger', $pnl.filter).hide();
|
||||
$('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
$('.sax-panel-messages', $pnl.results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
}
|
||||
sax.ajax.refreshResults = sax.ajax.refreshResults || { url: sax.url.base + 'Organisation/Ajax/GetMemberList', formId: 'frmMemberFilter', callbackFn: sax.doRefreshResults };
|
||||
sax.doAjaxRequest(sax.ajax.refreshResults, delay || 50);
|
||||
sax.awaitingRefreshResponse = true;
|
||||
}
|
||||
sax.getFilterDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Members li.sax-dropdown-item', sax.$pnl.filter).clone();
|
||||
}
|
||||
sax.getItemTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-panel-item.Member', sax.$pnl.results).clone();
|
||||
}
|
||||
sax.getItemDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Member li.sax-dropdown-item', sax.$pnl.results).clone();
|
||||
}
|
||||
sax.doRefreshResults = function (response)
|
||||
{
|
||||
//sax.debug('doRefreshResults', response);
|
||||
delete sax.awaitingRefreshResponse;
|
||||
sax.refreshControlValues(response.controlValues);
|
||||
let $mnu = $('.sax-burger ul.sax-dropdown-menu', sax.$pnl.filter).empty();
|
||||
var $msgs = $('.sax-panel-messages', sax.$pnl.results).hide().empty();
|
||||
var $items = $('.sax-panel-item-list', sax.$pnl.results).hide().empty();
|
||||
var $msgs = $('.sax-panel-messages', $pnl.results).hide().empty();
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).hide().empty();
|
||||
if (!response.success) return;
|
||||
// Reference data - roles.
|
||||
if (response.memberRoles && response.memberRoles.length)
|
||||
sax.data.memberRoles = response.memberRoles;
|
||||
// Menu.
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.refresh, function () { sax.refreshResults(); }));
|
||||
let $bgr = $('.sax-burger', $pnl.filter);
|
||||
let $mnu = $('ul.sax-dropdown-menu', $bgr).empty();
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.refresh, function () { sax.refreshResults(); }, 'sax-refresh'));
|
||||
if (sax.data.userCanManageMembers = (response.user && response.user.canManage))
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.add, function () { sax.createItem(); }));
|
||||
$('.sax-burger', sax.$pnl.filter).toggle(!!$('.sax-dropdown-item', $mnu).length);
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.add, function () { sax.createItem(); }, 'sax-edit'));
|
||||
$bgr.toggle(!!$('.sax-dropdown-item', $mnu).length);
|
||||
// Items.
|
||||
var items = response.members;
|
||||
if (!items.length)
|
||||
return $msgs.append($('<div class="sax-message">' + sax.msg.dataNoneFound + '</div>')).fadeIn(500);
|
||||
for (let itemIdx = 0; itemIdx < items.length; itemIdx++)
|
||||
{
|
||||
let item = items[itemIdx];
|
||||
let $item = sax.getItemTemplate();
|
||||
sax.populateItem($item, item);
|
||||
$items.append($item);
|
||||
}
|
||||
$items.append(sax.populateItem(sax.getItemTemplate(), items[itemIdx]));
|
||||
$items.fadeIn(50);
|
||||
}
|
||||
sax.getFilterMenuOption = function (lbl, fn)
|
||||
{
|
||||
return sax.getMenuOption(sax.getFilterDropdownTemplate(), lbl, fn);
|
||||
}
|
||||
sax.getMenuOption = function ($opt, lbl, fn)
|
||||
{
|
||||
return $opt.find('div.sax-label').text(lbl).end().on('click', fn);
|
||||
}
|
||||
sax.populateItem = function ($item, item)
|
||||
{
|
||||
if (!item) return;
|
||||
$item.prop('id', sax.itemIdPrefix + item.id);
|
||||
$('.sax-panel-messages', $pnl.results).hide().empty();
|
||||
$item.prop('id', sax.getItemId(item.id));
|
||||
$('.MemberEmail', $item).text(item.emailAddress);
|
||||
$('.MemberDisplayName', $item).text(item.displayName);
|
||||
$('.MemberAdminComment', $item).text(item.adminComment);
|
||||
$('.MemberStatus', $item).text(item.statusDesc).addClass('sax-status-' + item.statusCode.toLowerCase());
|
||||
let $mnu = $('ul.sax-dropdown-menu', $item).empty();
|
||||
let $bgr = $('.sax-burger', $item);
|
||||
let $mnu = $('ul.sax-dropdown-menu', $bgr).empty();
|
||||
if (sax.data.userCanManageMembers)
|
||||
{
|
||||
let fnUpd = function () { sax.updateItem(item.id) };
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.edit, fnUpd));
|
||||
let fnUpd = function () { sax.updateItem(item) };
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.edit, fnUpd, 'sax-edit'));
|
||||
if (!item.currentUser)
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.remove, function () { sax.removeItem(item.id) }));
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.remove, function () { sax.removeItem(item.id) }, 'sax-remove'));
|
||||
if (item.awaiting)
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.activate, function () { sax.activateItem(item.id) }));
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.activate, function () { sax.activateItem(item.id) }, 'sax-user'));
|
||||
$('.sax-caption .sax-action', $item).off('click').on('click', fnUpd);
|
||||
}
|
||||
else $('.sax-caption .sax-action', $item).removeClass('sax-action');
|
||||
$('.sax-burger', $item).toggle(!!$('.sax-dropdown-menu .sax-dropdown-item', $item).length);
|
||||
$('.sax-panel-messages', sax.$pnl.results).hide().empty();
|
||||
$bgr.toggle(!!$('.sax-dropdown-menu .sax-dropdown-item', $item).length);
|
||||
return $item;
|
||||
}
|
||||
sax.getItemMenuOption = function (lbl, fn)
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.getItemId = function (id)
|
||||
{
|
||||
return sax.getMenuOption(sax.getItemDropdownTemplate(), lbl, fn);
|
||||
return 'Itm_' + id;
|
||||
}
|
||||
sax.getFilterDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Members li.sax-dropdown-item', $pnl.filter).clone();
|
||||
}
|
||||
sax.getItemTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-panel-item.Member', $pnl.results).clone();
|
||||
}
|
||||
sax.getItemDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Member li.sax-dropdown-item', $pnl.results).clone();
|
||||
}
|
||||
sax.getFilterMenuOption = function (lbl, fn, cls)
|
||||
{
|
||||
return sax.getMenuOption(sax.getFilterDropdownTemplate(), lbl, fn, cls);
|
||||
}
|
||||
sax.getItemMenuOption = function (lbl, fn, cls)
|
||||
{
|
||||
return sax.getMenuOption(sax.getItemDropdownTemplate(), lbl, fn, cls);
|
||||
}
|
||||
sax.getMenuOption = function ($opt, lbl, fn, cls)
|
||||
{
|
||||
return $opt.find('div.sax-label').text(lbl).end().on('click', fn).addClass(cls);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
@@ -136,17 +141,17 @@
|
||||
{
|
||||
if (!sax.data.userCanManageMembers) return;
|
||||
sax.clearItem();
|
||||
$('.MemberOrganisationId', sax.$frm.member).val($('.FilterOrganisationId', sax.$frm.filter).val());
|
||||
sax.$dlg.member.dialog('option', 'title', sax.dlg.title.createMember);
|
||||
sax.openDialog(sax.$dlg.member, 600, 600);
|
||||
$('.MemberOrganisationId', $frm.member).val($('.FilterOrganisationId', $frm.filter).val());
|
||||
$dlg.member.dialog('option', 'title', sax.dlg.title.createMember);
|
||||
sax.openDialog($dlg.member, 600, 600);
|
||||
}
|
||||
sax.clearItem = function ()
|
||||
{
|
||||
sax.member = { roleCodes: [] };
|
||||
let $frm = sax.$frm.member;
|
||||
$('.MemberId,.MemberExists,.MemberRoleCodes,input[type="text"],textarea,select', $frm).val('');
|
||||
$('.MemberEmailAddress', $frm).prop('readonly', false);
|
||||
$('.MemberDisplayName,.MemberTitle,.MemberFirstName,.MemberLastName', $frm).hide();
|
||||
let $frmM = $frm.member;
|
||||
$('.MemberId,.MemberExists,.MemberRoleCodes,input[type="text"],textarea,select', $frmM).val('');
|
||||
$('.MemberEmailAddress', $frmM).prop('readonly', false);
|
||||
$('.MemberDisplayName,.MemberTitle,.MemberFirstName,.MemberLastName', $frmM).hide();
|
||||
sax.clearControlErrors();
|
||||
}
|
||||
sax.doCreateItem = function ()
|
||||
@@ -155,10 +160,10 @@
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.updateItem = function (id)
|
||||
sax.updateItem = function (item)
|
||||
{
|
||||
if (!sax.data.userCanManageMembers) return;
|
||||
$('.MemberId', sax.$frm.memberId).val(id);
|
||||
$('.MemberId', $frm.memberId).val(item.id);
|
||||
sax.ajax.updateItem = sax.ajax.updateItem || { url: sax.url.base + 'Organisation/Ajax/GetMember', formId: 'frmMemberId', callbackFn: sax.onUpdateItem };
|
||||
sax.doAjaxRequest(sax.ajax.updateItem, 50);
|
||||
}
|
||||
@@ -167,22 +172,22 @@
|
||||
//sax.debug('onUpdateItem', response);
|
||||
sax.clearItem();
|
||||
if (!response.success) return;
|
||||
let $frm = sax.$frm.member;
|
||||
let $frmM = $frm.member;
|
||||
let item = sax.member = response.member;
|
||||
$('.MemberId', $frm).val(item.id);
|
||||
$('.MemberExists', $frm).val(1);
|
||||
$('.MemberOrganisationId', $frm).val();
|
||||
$('.MemberEmailAddress', $frm).val(item.emailAddress).prop('readonly', true);
|
||||
$('.MemberDisplayName', $frm).toggle(!item.awaiting).val(item.displayName);
|
||||
$('.MemberTitle', $frm).toggle(!!item.awaiting).val(item.title);
|
||||
$('.MemberFirstName', $frm).toggle(!!item.awaiting).val(item.firstName);
|
||||
$('.MemberLastName', $frm).toggle(!!item.awaiting).val(item.lastName);
|
||||
$('.MemberRoleCodes', $frm).val(item.roleCodes);
|
||||
$('.MemberRoles', $frm).val(sax.getSelectedMemberRoleDescs().join('\n'));
|
||||
$('.MemberAdminComment', $frm).val(item.adminComment);
|
||||
$('.MemberId', $frmM).val(item.id);
|
||||
$('.MemberExists', $frmM).val(1);
|
||||
$('.MemberOrganisationId', $frmM).val();
|
||||
$('.MemberEmailAddress', $frmM).val(item.emailAddress).prop('readonly', true);
|
||||
$('.MemberDisplayName', $frmM).toggle(!item.awaiting).val(item.displayName);
|
||||
$('.MemberTitle', $frmM).toggle(!!item.awaiting).val(item.title);
|
||||
$('.MemberFirstName', $frmM).toggle(!!item.awaiting).val(item.firstName);
|
||||
$('.MemberLastName', $frmM).toggle(!!item.awaiting).val(item.lastName);
|
||||
$('.MemberRoleCodes', $frmM).val(item.roleCodes);
|
||||
$('.MemberRoles', $frmM).val(sax.getSelectedMemberRoleDescs().join('\n'));
|
||||
$('.MemberAdminComment', $frmM).val(item.adminComment);
|
||||
sax.clearControlErrors();
|
||||
sax.$dlg.member.dialog('option', 'title', sax.dlg.title.updateMember);
|
||||
sax.openDialog(sax.$dlg.member, 600, 600);
|
||||
$dlg.member.dialog('option', 'title', sax.dlg.title.updateMember);
|
||||
sax.openDialog($dlg.member, 600, 600);
|
||||
}
|
||||
sax.doUpdateItem = function ()
|
||||
{
|
||||
@@ -202,10 +207,10 @@
|
||||
sax.updateMemberRoles = function (memberRoleCodes)
|
||||
{
|
||||
//sax.debug('updateMemberRoles', memberRoleCodes);
|
||||
let $frm = sax.$frm.member;
|
||||
let $frmM = $frm.member;
|
||||
sax.member.roleCodes = memberRoleCodes;
|
||||
$('.MemberRoleCodes',$frm).val(memberRoleCodes.join(sax.data.memberRoleCodeDelim));
|
||||
$('.MemberRoles', $frm).val(sax.getSelectedMemberRoleDescs().join('\n'));
|
||||
$('.MemberRoleCodes', $frmM).val(memberRoleCodes.join(sax.data.memberRoleCodeDelim));
|
||||
$('.MemberRoles', $frmM).val(sax.getSelectedMemberRoleDescs().join('\n'));
|
||||
}
|
||||
sax.getSelectedMemberRoleDescs = function ()
|
||||
{
|
||||
@@ -223,8 +228,8 @@
|
||||
//--------------------------------------------------------------
|
||||
sax.storeItem = function ()
|
||||
{
|
||||
let $frm = sax.$frm.member;
|
||||
$('.MemberNameSupplied', $frm).val($('.MemberLastName', $frm).is(":visible") ? 1 : 0);
|
||||
let $frmM = $frm.member;
|
||||
$('.MemberNameSupplied', $frmM).val($('.MemberLastName', $frmM).is(":visible") ? 1 : 0);
|
||||
sax.ajax.storeItem = sax.ajax.storeItem || { url: sax.url.base + 'Organisation/Ajax/StoreMember', formId: 'frmMember', callbackFn: sax.onStoreItem };
|
||||
sax.doAjaxRequest(sax.ajax.storeItem, 50);
|
||||
}
|
||||
@@ -233,20 +238,20 @@
|
||||
//sax.debug('onStoreItem', response);
|
||||
sax.refreshControlValues(response.controlValues);
|
||||
if (!response.success) return;
|
||||
let $frm = sax.$frm.member;
|
||||
let $frmM = $frm.member;
|
||||
if (response.memberNameRequired)
|
||||
{
|
||||
$('.MemberEmailAddress', $frm).prop('readonly', true);
|
||||
$('.MemberTitle,.MemberFirstName,.MemberLastName', $frm).show();
|
||||
$('.MemberEmailAddress', $frmM).prop('readonly', true);
|
||||
$('.MemberTitle,.MemberFirstName,.MemberLastName', $frmM).show();
|
||||
return;
|
||||
}
|
||||
sax.$dlg.member.dialog('close');
|
||||
$dlg.member.dialog('close');
|
||||
var item = response.member;
|
||||
var $item = $('#' + sax.itemIdPrefix + item.id);
|
||||
var $item = $('#' + sax.getItemId(item.id));
|
||||
if (!$item.length)
|
||||
{
|
||||
$item = sax.getItemTemplate();
|
||||
$('.sax-panel-item-list', sax.$pnl.results).prepend($item).show();
|
||||
$('.sax-panel-item-list', $pnl.results).prepend($item).show();
|
||||
}
|
||||
sax.populateItem($item, item)
|
||||
}
|
||||
@@ -256,7 +261,7 @@
|
||||
{
|
||||
let fn = function ()
|
||||
{
|
||||
$('.MemberId', sax.$frm.memberId).val(id);
|
||||
$('.MemberId', $frm.memberId).val(id);
|
||||
sax.ajax.removeItem = sax.ajax.removeItem || { url: sax.url.base + 'Organisation/Ajax/RemoveMember', formId: 'frmMemberId', callbackFn: sax.onItemRemoved };
|
||||
sax.doAjaxRequest(sax.ajax.removeItem, 50);
|
||||
}
|
||||
@@ -267,7 +272,7 @@
|
||||
{
|
||||
if (!response.success) return;
|
||||
var item = response.member;
|
||||
var $item = $('#' + sax.itemIdPrefix + item.id);
|
||||
var $item = $('#' + sax.getItemId(item.id));
|
||||
//sax.debug(item, $item);
|
||||
if ($item.length)
|
||||
$item.remove();
|
||||
@@ -278,7 +283,7 @@
|
||||
{
|
||||
let fn = function ()
|
||||
{
|
||||
$('.MemberId', sax.$frm.memberId).val(id);
|
||||
$('.MemberId', $frm.memberId).val(id);
|
||||
sax.ajax.activateItem = sax.ajax.activateItem || { url: sax.url.base + 'Organisation/Ajax/ActivateMember', formId: 'frmMemberId', callbackFn: sax.onItemActivated };
|
||||
sax.doAjaxRequest(sax.ajax.activateItem, 50);
|
||||
}
|
||||
@@ -288,7 +293,7 @@
|
||||
{
|
||||
if (!response.success) return;
|
||||
var item = response.member;
|
||||
var $item = $('#' + sax.itemIdPrefix + item.id);
|
||||
var $item = $('#' + sax.getItemId(item.id));
|
||||
//sax.debug(item, $item);
|
||||
if ($item.length)
|
||||
sax.populateItem($item, item)
|
||||
@@ -297,22 +302,22 @@
|
||||
//--------------------------------------------------------------
|
||||
$(function ()
|
||||
{
|
||||
sax.$pnl.members = $('#pnlMembers');
|
||||
sax.$pnl.filter = $('.sax-panel-filter', sax.$pnl.members);
|
||||
sax.$pnl.results = $('.sax-panel-results', sax.$pnl.members);
|
||||
sax.$frm.filter = $('#frmMemberFilter');
|
||||
$('.MemberFilter', sax.$frm.filter).on('input', function () { sax.refreshResults(250); }).on('keypress', function (event)
|
||||
$pnl.members = $('.sax-panel.Members');
|
||||
$pnl.filter = $('.sax-panel-filter', $pnl.members);
|
||||
$pnl.results = $('.sax-panel-results', $pnl.members);
|
||||
$frm.filter = $('#frmMemberFilter');
|
||||
$('.MemberFilter', $frm.filter).on('input', function () { sax.refreshResults(250); }).on('keypress', function (event)
|
||||
{
|
||||
if (event.keyCode == 13) setTimeout(sax.refreshResults, 50);
|
||||
});
|
||||
sax.$frm.memberId = $('#frmMemberId');
|
||||
sax.$frm.member = $('#frmMember');
|
||||
$('.sax-input', sax.$frm.member).on('input', function () { sax.clearControlError(this); });
|
||||
$frm.memberId = $('#frmMemberId');
|
||||
$frm.member = $('#frmMember');
|
||||
$('.sax-input', $frm.member).on('input', function () { sax.clearControlError(this); });
|
||||
|
||||
var opt = sax.dlgOpts();
|
||||
opt.buttons[sax.dlg.btn.ok] = function () { sax.doCreateItem(); };
|
||||
opt.buttons[sax.dlg.btn.cancel] = function () { $(this).dialog('close'); };
|
||||
sax.$dlg.member = $('#dlgMember').dialog(opt);
|
||||
$dlg.member = $('#dlgMember').dialog(opt);
|
||||
|
||||
setTimeout(sax.refreshResults, 250);
|
||||
});
|
||||
|
||||
@@ -5,17 +5,18 @@
|
||||
(function (win, doc, undef)
|
||||
{
|
||||
"use strict";
|
||||
sax.itemIdPrefix = 'Itm_';
|
||||
let $pnl = sax.$pnl, $frm = sax.$frm, $dlg = sax.$dlg;
|
||||
let oo = sax.OrgOpp = { data: {}, fn: {} };
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.refreshResults = function (delay)
|
||||
{
|
||||
var $results = $('.sax-panel-results');
|
||||
sax.data.userCanManageOpportunities = false;
|
||||
if (!sax.awaitingRefreshResponse)
|
||||
{
|
||||
var $items = $('.sax-panel-item-list', $results).fadeOut(200).empty();
|
||||
var $msgs = $('.sax-panel-messages', $results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
$('.sax-burger', $pnl.filter).hide();
|
||||
$('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
|
||||
$('.sax-panel-messages', $pnl.results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
|
||||
}
|
||||
sax.ajax.refreshResults = sax.ajax.refreshResults || { url: sax.url.base + 'Organisation/Ajax/GetOpportunityList', formId: 'frmOpportunityFilter', callbackFn: sax.doRefreshResults };
|
||||
sax.doAjaxRequest(sax.ajax.refreshResults, delay || 50);
|
||||
@@ -26,35 +27,33 @@
|
||||
//sax.debug('doRefreshResults', response);
|
||||
delete sax.awaitingRefreshResponse;
|
||||
sax.refreshControlValues(response.controlValues);
|
||||
var $panel = $('#pnlOpportunities');
|
||||
$('.sax-action.sax-item-create', $panel).hide();
|
||||
var $results = $('.sax-panel-results', $panel);
|
||||
var $msgs = $('.sax-panel-messages', $results).hide().empty();
|
||||
var $items = $('.sax-panel-item-list', $results).hide().empty();
|
||||
var $tmpl = $('.sax-panel-item-template .sax-panel-item', $results);
|
||||
var $msgs = $('.sax-panel-messages', $pnl.results).hide().empty();
|
||||
var $items = $('.sax-panel-item-list', $pnl.results).hide().empty();
|
||||
if (!response.success) return;
|
||||
oo.data.organisation = response.organisation;
|
||||
// Reference data - Opportunity types.
|
||||
if (response.opportunityTypes)
|
||||
sax.populateSelectCodeDesc('#cbOpportunityType', response.opportunityTypes);
|
||||
// Menu.
|
||||
let $bgr = $('.sax-burger', $pnl.filter);
|
||||
let $mnu = $('ul.sax-dropdown-menu', $bgr).empty();
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.refresh, function () { sax.refreshResults(); }, 'sax-refresh'));
|
||||
if (sax.data.userCanManageOpportunities = (response.user && response.user.canManage))
|
||||
$mnu.append(sax.getFilterMenuOption(sax.lbl.add, function () { sax.createItem(); }, 'sax-edit'));
|
||||
$bgr.toggle(!!$('.sax-dropdown-item', $mnu).length);
|
||||
// Items.
|
||||
sax.data.userCanManageOpportunities = (response.user && response.user.canManage);
|
||||
$('#pnlOpportunities .sax-panel-filter .sax-action.sax-item-create').toggle(sax.data.userCanManageOpportunities);
|
||||
var items = response.opportunities;
|
||||
if (!items.length)
|
||||
return $msgs.append($('<div class="sax-message">' + sax.msg.dataNoneFound + '</div>')).fadeIn(500);
|
||||
for (let itemIdx = 0; itemIdx < items.length; itemIdx++)
|
||||
{
|
||||
let item = items[itemIdx];
|
||||
let $item = $tmpl.clone();
|
||||
sax.populateItem($item, item);
|
||||
$items.append($item);
|
||||
}
|
||||
$items.append(sax.populateItem(sax.getItemTemplate(), items[itemIdx]));
|
||||
$items.fadeIn(50);
|
||||
}
|
||||
sax.populateItem = function ($item, item)
|
||||
{
|
||||
if (!item) return;
|
||||
$item.prop('id', sax.itemIdPrefix + item.id);
|
||||
$('.sax-panel-results .sax-panel-messages').hide().empty();
|
||||
$item.prop('id', sax.getItemId(item.id));
|
||||
$('.OpportunityType', $item).text(item.typeDesc);
|
||||
$('.OpportunityPosition', $item).text(item.position);
|
||||
$('.OpportunityOutline', $item).text(item.outline);
|
||||
@@ -66,10 +65,52 @@
|
||||
$('.OpportunityExpiresOn', $item).text(item.expiresOnFmt);
|
||||
$('.OpportunityExpires', $item).toggle(!!item.expiresOnFmt);
|
||||
$('.OpportunityStatusDesc', $item).text(item.statusDesc);
|
||||
if (sax.data.userCanManageOpportunities)
|
||||
$('.sax-caption .sax-action, .sax-actions .sax-action.sax-item-update', $item).off('click').on('click', function () { sax.updateItem(item.id) }).removeClass('hidden');
|
||||
$item.off('dblclick').on('dblclick', function () { sax.updateItem(item.id) });
|
||||
$('.sax-panel-results .sax-panel-messages').hide().empty();
|
||||
|
||||
let $bgr = $('.sax-burger', $item);
|
||||
let $mnu = $('ul.sax-dropdown-menu', $bgr).empty();
|
||||
if (!item.deleted)
|
||||
{
|
||||
if (sax.data.userCanManageOpportunities)
|
||||
{
|
||||
let fnUpd = function () { sax.updateItem(item) };
|
||||
$mnu.append(sax.getItemMenuOption(sax.lbl.edit, fnUpd, 'sax-edit'));
|
||||
$('.sax-caption .sax-action', $item).off('click').on('click', fnUpd);
|
||||
$item.off('dblclick').on('dblclick', fnUpd);
|
||||
}
|
||||
}
|
||||
else $('.sax-caption .sax-action', $item).removeClass('sax-action');
|
||||
$bgr.toggle(!!$('.sax-dropdown-menu .sax-dropdown-item', $item).length);
|
||||
return $item;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.getItemId = function (id)
|
||||
{
|
||||
return 'Itm_' + id;
|
||||
}
|
||||
sax.getFilterDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Opportunities li.sax-dropdown-item', sax.$pnl.filter).clone();
|
||||
}
|
||||
sax.getItemTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-panel-item.Opportunity', sax.$pnl.results).clone();
|
||||
}
|
||||
sax.getItemDropdownTemplate = function ()
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-dropdown-menu.Opportunity li.sax-dropdown-item', sax.$pnl.results).clone();
|
||||
}
|
||||
sax.getFilterMenuOption = function (lbl, fn, cls)
|
||||
{
|
||||
return sax.getMenuOption(sax.getFilterDropdownTemplate(), lbl, fn, cls);
|
||||
}
|
||||
sax.getItemMenuOption = function (lbl, fn, cls)
|
||||
{
|
||||
return sax.getMenuOption(sax.getItemDropdownTemplate(), lbl, fn, cls);
|
||||
}
|
||||
sax.getMenuOption = function ($opt, lbl, fn, cls)
|
||||
{
|
||||
return $opt.find('div.sax-label').text(lbl).end().on('click', fn).addClass(cls);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
@@ -131,12 +172,17 @@
|
||||
{
|
||||
if (!sax.data.userCanManageOpportunities) return;
|
||||
sax.clearItem();
|
||||
sax.$dlg.opportunity.dialog('option', 'title', sax.dlg.title.createOpportunity);
|
||||
sax.openDialog(sax.$dlg.opportunity, 600, 600);
|
||||
let $frmO = $frm.opportunity;
|
||||
$('#ifOpportunitySportId', $frmO).val(oo.data.organisation.sportId);
|
||||
$('#ifOpportunitySportCaption', $frmO).val(oo.data.organisation.sportName);
|
||||
$('#ifOpportunityRegionId', $frmO).val(oo.data.organisation.regionId);
|
||||
$('#ifOpportunityRegionCaption', $frmO).val(oo.data.organisation.regionName);
|
||||
$dlg.opportunity.dialog('option', 'title', sax.dlg.title.createOpportunity);
|
||||
sax.openDialog($dlg.opportunity, 600, 600);
|
||||
}
|
||||
sax.clearItem = function ()
|
||||
{
|
||||
$('#ifOpportunityId,#ifOpportunityExists,#ifOpportunityRegionId,#ifOpportunitySportId,input[type="text"],textarea,select', sax.$frm.opportunity).val('');
|
||||
$('#ifOpportunityId,#ifOpportunityExists,#ifOpportunityRegionId,#ifOpportunitySportId,input[type="text"],textarea,select', $frm.opportunity).val('');
|
||||
sax.clearControlErrors();
|
||||
}
|
||||
sax.doCreateItem = function ()
|
||||
@@ -145,10 +191,10 @@
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.updateItem = function (id)
|
||||
sax.updateItem = function (item)
|
||||
{
|
||||
if (!sax.data.userCanManageOpportunities) return;
|
||||
$('.OpportunityId', sax.$frm.opportunityId).val(id);
|
||||
$('.OpportunityId', $frm.opportunityId).val(item.id);
|
||||
sax.ajax.updateItem = sax.ajax.updateItem || { url: sax.url.base + 'Organisation/Ajax/GetOpportunity', formId: 'frmOpportunityId', callbackFn: sax.onUpdateItem };
|
||||
sax.doAjaxRequest(sax.ajax.updateItem, 50);
|
||||
}
|
||||
@@ -157,21 +203,21 @@
|
||||
//sax.debug('onUpdateItem', response);
|
||||
sax.clearItem();
|
||||
if (!response.success) return;
|
||||
let $frm = sax.$frm.opportunity;
|
||||
let $frmO = $frm.opportunity;
|
||||
let item = response.opportunity;
|
||||
$('#ifOpportunityId', $frm).val(item.id);
|
||||
$('#ifOpportunityExists', $frm).val(1);
|
||||
$('#cbOpportunityType', $frm).val(item.typeCode);
|
||||
$('#ifOpportunityPosition', $frm).val(item.position);
|
||||
$('#ifOpportunityOutline', $frm).val(item.outline);
|
||||
$('#ifOpportunityRegionId', $frm).val(item.regionIdPrimary);
|
||||
$('#ifOpportunityRegionCaption', $frm).val(item.regionCaption);
|
||||
$('#ifOpportunitySportId', $frm).val(item.sportIdPrimary);
|
||||
$('#ifOpportunitySportCaption', $frm).val(item.sportCaption);
|
||||
$('#cbOpportunityStatusCode', $frm).val(item.statusCode);
|
||||
$('#ifOpportunityId', $frmO).val(item.id);
|
||||
$('#ifOpportunityExists', $frmO).val(1);
|
||||
$('#cbOpportunityType', $frmO).val(item.typeCode);
|
||||
$('#ifOpportunityPosition', $frmO).val(item.position);
|
||||
$('#ifOpportunityOutline', $frmO).val(item.outline);
|
||||
$('#ifOpportunityRegionId', $frmO).val(item.regionIdPrimary);
|
||||
$('#ifOpportunityRegionCaption', $frmO).val(item.regionCaption);
|
||||
$('#ifOpportunitySportId', $frmO).val(item.sportIdPrimary);
|
||||
$('#ifOpportunitySportCaption', $frmO).val(item.sportCaption);
|
||||
$('#cbOpportunityStatusCode', $frmO).val(item.statusCode);
|
||||
sax.clearControlErrors();
|
||||
sax.$dlg.opportunity.dialog('option', 'title', sax.dlg.title.updateOpportunity);
|
||||
sax.openDialog(sax.$dlg.opportunity, 600, 600);
|
||||
$dlg.opportunity.dialog('option', 'title', sax.dlg.title.updateOpportunity);
|
||||
sax.openDialog($dlg.opportunity, 600, 600);
|
||||
}
|
||||
sax.doUpdateItem = function ()
|
||||
{
|
||||
@@ -189,15 +235,14 @@
|
||||
//sax.debug('onStoreItem', response);
|
||||
sax.refreshControlValues(response.controlValues);
|
||||
if (!response.success) return;
|
||||
sax.$dlg.opportunity.dialog('close');
|
||||
$dlg.opportunity.dialog('close');
|
||||
|
||||
var item = response.opportunity;
|
||||
var $item = $('#' + sax.itemIdPrefix + item.id);
|
||||
var $item = $('#' + sax.getItemId(item.id));
|
||||
if (!$item.length)
|
||||
{
|
||||
var $results = $('.sax-panel-results');
|
||||
$item = $('.sax-panel-item-template .sax-panel-item', $results).clone();
|
||||
$('.sax-panel-item-list', $results).prepend($item).show();
|
||||
$item = $('.sax-panel-item-template .sax-panel-item', $pnl.results).clone();
|
||||
$('.sax-panel-item-list', $pnl.results).prepend($item).show();
|
||||
}
|
||||
sax.populateItem($item, item)
|
||||
}
|
||||
@@ -205,21 +250,22 @@
|
||||
//--------------------------------------------------------------
|
||||
$(function ()
|
||||
{
|
||||
sax.$frm.filter = $('#frmOpportunityFilter');
|
||||
$('.sax-panel-filter .sax-action.sax-item-create').on('click', function () { sax.createItem(); });
|
||||
$('.sax-panel-filter .sax-action.sax-results-refresh').on('click', function () { sax.refreshResults(); });
|
||||
$('.OpportunityFilter', sax.$frm.filter).on('input', function () { sax.refreshResults(250); }).on('keypress', function (event)
|
||||
$pnl.opportunities = $('.sax-panel.Opportunities');
|
||||
$pnl.filter = $('.sax-panel-filter', $pnl.opportunities);
|
||||
$pnl.results = $('.sax-panel-results', $pnl.opportunities);
|
||||
$frm.filter = $('#frmOpportunityFilter', $pnl.filter);
|
||||
$('.OpportunityFilter', $frm.filter).on('input', function () { sax.refreshResults(250); }).on('keypress', function (event)
|
||||
{
|
||||
if (event.keyCode == 13) setTimeout(sax.refreshResults, 50);
|
||||
});
|
||||
sax.$frm.opportunityId = $('#frmOpportunityId');
|
||||
sax.$frm.opportunity = $('#frmOpportunity');
|
||||
$('.sax-input', sax.$frm.opportunity).on('input', function () { sax.clearControlError(this); });
|
||||
$frm.opportunityId = $('#frmOpportunityId');
|
||||
$frm.opportunity = $('#frmOpportunity');
|
||||
$('.sax-input', $frm.opportunity).on('input', function () { sax.clearControlError(this); });
|
||||
|
||||
var opt = sax.dlgOpts();
|
||||
opt.buttons[sax.dlg.btn.ok] = function () { sax.doCreateItem(); };
|
||||
opt.buttons[sax.dlg.btn.cancel] = function () { $(this).dialog('close'); };
|
||||
sax.$dlg.opportunity = $('#dlgOpportunity').dialog(opt);
|
||||
$dlg.opportunity = $('#dlgOpportunity').dialog(opt);
|
||||
|
||||
setTimeout(sax.refreshResults, 250);
|
||||
});
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
sax.refreshSelect($section, 'AccountTitle', response.contact.title);
|
||||
sax.refreshInput($section, 'AccountFirstName', response.contact.firstName);
|
||||
sax.refreshInput($section, 'AccountLastName', response.contact.lastName);
|
||||
sax.refreshTextArea($section, 'AccountAbout', response.contact.about);
|
||||
let $selGender = $('#cbAccountGender');
|
||||
if (response.genders && response.genders.length)
|
||||
sax.populateSelectCodeDesc($('#cbAccountGender'), response.genders);
|
||||
@@ -179,6 +180,7 @@
|
||||
}
|
||||
sax.selectContactImage = function ()
|
||||
{
|
||||
sax.debug('selectContactImage');
|
||||
let dlg = $dlg.selectContactImage.dialog('option', { title: sax.dlg.title.imageUpload });
|
||||
$('#ifContactImage', dlg).val('');
|
||||
sax.openDialog(dlg, 560, 240);
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
//--------------------------------------------------------------
|
||||
sax.showSportExperience = function (usrSpt)
|
||||
{
|
||||
sax.debug('showSportExperience', usrSpt);
|
||||
//sax.debug('showSportExperience', usrSpt);
|
||||
$('.sax-header .SportName', se.$pnl.sportExp).text(usrSpt.sportName);
|
||||
$('.sax-panel-section').slideUp(750, function () { se.$pnl.sportExp.slideDown(750); });
|
||||
se.$dlg.sportExp.dialog('option', { 'title': sax.lbl.sportExperience + ' - ' + usrSpt.sportName });
|
||||
@@ -27,7 +27,11 @@
|
||||
}
|
||||
se.fn.handleSportExperiencesResponse = function (response)
|
||||
{
|
||||
sax.debug('handleSportExperiencesResponse', response);
|
||||
//sax.debug('handleSportExperiencesResponse', response);
|
||||
if (!response.success) return;
|
||||
let sport = response.sport;
|
||||
$('.sax-form-control.ExperienceSpeciality', se.$dlg.sportExp).toggle(!sport.speciality.notRelevant);
|
||||
$('.sax-form-control.ExperienceSpeciality .sax-label-text', se.$dlg.sportExp).text(sport.speciality.label || sax.lbl.speciality);
|
||||
let $results = se.$pnl.results;
|
||||
let $msgs = $('.sax-panel-messages', $results).empty();
|
||||
let $list = $('.sax-panel-item-list', $results).hide().empty();
|
||||
@@ -38,20 +42,22 @@
|
||||
let item = items[itemIdx];
|
||||
item.idx = ++se.idx;
|
||||
let $item = se.fn.getItemTemplate(item.idx);
|
||||
sax.debug(item, $item);
|
||||
//sax.debug(item, $item);
|
||||
$('.ExperiencePeriod', $item).text(item.period);
|
||||
$('.ExperienceSummary', $item).text(item.summary);
|
||||
$('.ExperienceTeam', $item).text(item.team);
|
||||
$('.ExperienceLeague', $item).text(item.league);
|
||||
$('.ExperienceSpeciality', $item).text(item.speciality);
|
||||
let $mnu = $('.sax-burger .sax-dropdown-menu', $item).empty();
|
||||
$mnu.append(se.fn.getMenuOption(se.fn.getItemActionTemplate(), sax.lbl.edit, function () { se.fn.updateSportExperience(item, $item); }));
|
||||
$mnu.append(se.fn.getMenuOption(se.fn.getItemActionTemplate(), sax.lbl.edit, function () { se.fn.updateSportExperience(item, $item); }, 'sax-edit'));
|
||||
$('.sax-header .sax-caption', $item).on('click', function () { se.fn.updateSportExperience(item, $item); });
|
||||
$('.sax-content', $item).on('dblclick', function () { se.fn.updateSportExperience(item, $item); });
|
||||
$list.append($item);
|
||||
}
|
||||
$list.show();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
se.fn.getItemId = function (idx)
|
||||
{
|
||||
return 'SptExp_' + idx;
|
||||
@@ -64,15 +70,15 @@
|
||||
{
|
||||
return $('.sax-panel-item-template .sax-panel-item.SportExperience', se.$pnl.results).clone().prop('id', se.fn.getItemId(idx));
|
||||
}
|
||||
se.fn.getMenuOption = function ($opt, lbl, fn)
|
||||
se.fn.getMenuOption = function ($opt, lbl, fn, cls)
|
||||
{
|
||||
return $opt.find('div.sax-label').text(lbl).end().on('click', fn);
|
||||
return $opt.find('div.sax-label').text(lbl).end().on('click', fn).addClass(cls);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.addSportExperience = function ()
|
||||
{
|
||||
sax.debug('addSportExperience')
|
||||
//sax.debug('addSportExperience')
|
||||
se.fn.clearSportExperience();
|
||||
sax.openDialog(se.$dlg.sportExp, 560, 600);
|
||||
}
|
||||
@@ -83,7 +89,7 @@
|
||||
}
|
||||
se.fn.updateSportExperience = function (item, $item)
|
||||
{
|
||||
sax.debug('updateSportExperience', item);
|
||||
//sax.debug('updateSportExperience', item);
|
||||
let frm = se.$frm.sportExpId;
|
||||
$('.UserSportExperienceId', se.$frm.sportExpId).val(item.id);
|
||||
sax.ajax.sportExp = sax.ajax.sportExp || { url: sax.url.base + 'UserSport/Ajax/GetExperience', formId: frm.prop('id'), callbackFn: se.fn.doUpdateSportExperience };
|
||||
@@ -91,14 +97,14 @@
|
||||
}
|
||||
se.fn.doUpdateSportExperience = function (response)
|
||||
{
|
||||
sax.debug('doUpdateSportExperience', response);
|
||||
//sax.debug('doUpdateSportExperience', response);
|
||||
if (!response.success) return;
|
||||
let item = response.experience;
|
||||
let frm = se.$frm.sportExp;
|
||||
se.fn.clearSportExperience();
|
||||
$('input.UserSportExperienceId', frm).val(item.id);
|
||||
$('input.UserSportExperienceExists', frm).val(1);
|
||||
sax.debug(Date.parse(item.periodFrom_YMD));
|
||||
//sax.debug(Date.parse(item.periodFrom_YMD));
|
||||
$('.sax-input.ExperiencePeriodFrom', frm).datepicker('setDate', new Date(item.periodFrom_YMD));
|
||||
$('.sax-input.ExperiencePeriodTo', frm).datepicker('setDate', item.periodTo_YMD ? new Date(item.periodTo_YMD) : null);
|
||||
$('.sax-textarea.ExperienceSummary', frm).val(item.summary).prop('autofocus', true);
|
||||
@@ -110,14 +116,14 @@
|
||||
}
|
||||
se.fn.storeSportExperience = function ()
|
||||
{
|
||||
sax.debug('storeSportExperience');
|
||||
//sax.debug('storeSportExperience');
|
||||
let frm = se.$frm.sportExp;
|
||||
sax.ajax.storeSportExp = sax.ajax.storeSportExp || { url: sax.url.base + 'UserSport/Ajax/StoreExperience', formId: frm.prop('id'), callbackFn: se.fn.onStoreSportExperience };
|
||||
sax.doAjaxRequest(sax.ajax.storeSportExp, 50);
|
||||
}
|
||||
se.fn.onStoreSportExperience = function (response)
|
||||
{
|
||||
sax.debug('onStoreSportExperience', response);
|
||||
//sax.debug('onStoreSportExperience', response);
|
||||
sax.refreshControlValues(response.controlValues, se.$dlg.sprExp);
|
||||
if (!response.success) return;
|
||||
se.$dlg.sportExp.dialog('close');
|
||||
|
||||
Reference in New Issue
Block a user