* [MOD] UI tweaks

Signed-off-by: nuxsmin <nuxsmin@syspass.org>
This commit is contained in:
nuxsmin
2018-10-08 01:20:49 +02:00
parent 71e504da40
commit 943a571d85
9 changed files with 101 additions and 84 deletions

View File

@@ -81,26 +81,26 @@ abstract class GridBase extends HelperBase implements GridInterface
*
* @return DataGridPager
*/
protected function getPager(DataGridActionSearch $sourceAction)
final protected function getPager(DataGridActionSearch $sourceAction)
{
$GridPager = new DataGridPager();
$GridPager->setSourceAction($sourceAction);
$GridPager->setOnClickFunction('appMgmt/nav');
$GridPager->setLimitStart(0);
$GridPager->setLimitCount($this->configData->getAccountCount());
$GridPager->setIconPrev($this->icons->getIconNavPrev());
$GridPager->setIconNext($this->icons->getIconNavNext());
$GridPager->setIconFirst($this->icons->getIconNavFirst());
$GridPager->setIconLast($this->icons->getIconNavLast());
$gridPager = new DataGridPager();
$gridPager->setSourceAction($sourceAction);
$gridPager->setOnClickFunction('appMgmt/nav');
$gridPager->setLimitStart(0);
$gridPager->setLimitCount($this->configData->getAccountCount());
$gridPager->setIconPrev($this->icons->getIconNavPrev());
$gridPager->setIconNext($this->icons->getIconNavNext());
$gridPager->setIconFirst($this->icons->getIconNavFirst());
$gridPager->setIconLast($this->icons->getIconNavLast());
return $GridPager;
return $gridPager;
}
/**
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
protected function initialize()
final protected function initialize()
{
$this->queryTimeStart = microtime(true);
$this->acl = $this->dic->get(Acl::class);

View File

@@ -110,7 +110,8 @@
border-left-color: rgba(77, 77, 77, 0); }
.selectize-control {
position: relative; }
position: relative;
padding: 20px 0; }
.selectize-dropdown,
.selectize-input,
@@ -360,9 +361,6 @@
.selectize-dropdown-header {
padding: 6px 12px; }
.selectize-input {
min-height: 30px; }
.selectize-input.dropdown-active::before {
display: none; }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -128,6 +128,7 @@
.selectize-control {
position: relative;
padding: 20px 0;
}
.selectize-dropdown,
@@ -425,7 +426,7 @@
}
.selectize-input {
min-height: 30px;
//min-height: 30px;
}
.selectize-input.dropdown-active {

View File

@@ -68,7 +68,10 @@ if (!isset($index)): $index = 0; endif; ?>
<input type="hidden" name="isAjax" value="1">
</form>
</li>
<?php endif; endforeach; ?>
<?php
endif;
endforeach; ?>
<li>
<button type="button" id="btn-back-<?php echo $index; ?>"
class="btn-back mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab mdl-button--colored <?php echo $icons->getIconBack()->getClassButton(); ?>"

View File

@@ -1,3 +1,8 @@
<?php
/**
* @var \SP\Core\UI\ThemeIcons $icons
*/
?>
<table class="popup-data">
<tbody>
<tr>
@@ -5,10 +10,8 @@
<td class="valField">
<div class="account-permissions">
<div class="tag-list-box">
<div class="tag-list-header"><?php echo __('Ver'); ?></div>
<select id="users_view" name="users_view[]" multiple="multiple"
class="select-box">
class="select-box-tags">
<option value=""><?php echo __('Seleccionar Usuarios'); ?></option>
<?php /** @var \SP\Mvc\View\Components\SelectItem[] $usersView */
foreach ($usersView as $user): ?>
@@ -18,13 +21,14 @@
<?php echo $user->isSelected() ? 'selected' : '' ?>><?php echo $user->getName(); ?></option>
<?php endforeach; ?>
</select>
<i class="material-icons select-icon"
title="<?php echo __('Ver'); ?>"><?php echo $icons->getIconView()->getIcon(); ?></i>
</div>
<div class="tag-list-box">
<div class="tag-list-header"><?php echo __('Editar'); ?></div>
<select id="users_edit" name="users_edit[]" multiple="multiple"
class="select-box">
class="select-box-tags">
<option value=""><?php echo __('Seleccionar Usuarios'); ?></option>
<?php /** @var \SP\Mvc\View\Components\SelectItem[] $usersEdit */
foreach ($usersEdit as $user): ?>
@@ -34,6 +38,9 @@
<?php echo $user->isSelected() ? 'selected' : '' ?>><?php echo $user->getName(); ?></option>
<?php endforeach; ?>
</select>
<i class="material-icons select-icon"
title="<?php echo __('Editar'); ?>"><?php echo $icons->getIconEdit()->getIcon(); ?></i>
</div>
</div>
</td>
@@ -44,10 +51,8 @@
<td class="valField">
<div class="account-permissions">
<div class="tag-list-box">
<div class="tag-list-header"><?php echo __('Ver'); ?></div>
<select id="user_groups_view" name="user_groups_view[]" multiple="multiple"
class="select-box">
class="select-box-tags">
<option value=""><?php echo __('Seleccionar Grupos'); ?></option>
<?php /** @var \SP\Mvc\View\Components\SelectItem[] $userGroupsView */
foreach ($userGroupsView as $userGroup): ?>
@@ -57,13 +62,14 @@
<?php echo $userGroup->isSelected() ? 'selected' : '' ?>><?php echo $userGroup->getName(); ?></option>
<?php endforeach; ?>
</select>
<i class="material-icons select-icon"
title="<?php echo __('Ver'); ?>"><?php echo $icons->getIconView()->getIcon(); ?></i>
</div>
<div class="tag-list-box">
<div class="tag-list-header"><?php echo __('Editar'); ?></div>
<select id="user_groups_edit" name="user_groups_edit[]" multiple="multiple"
class="select-box">
class="select-box-tags">
<option value=""><?php echo __('Seleccionar Grupos'); ?></option>
<?php /** @var \SP\Mvc\View\Components\SelectItem[] $userGroupsEdit */
foreach ($userGroupsEdit as $userGroup): ?>
@@ -73,6 +79,9 @@
<?php echo $userGroup->isSelected() ? 'selected' : '' ?>><?php echo $userGroup->getName(); ?></option>
<?php endforeach; ?>
</select>
<i class="material-icons select-icon"
title="<?php echo __('Editar'); ?>"><?php echo $icons->getIconEdit()->getIcon(); ?></i>
</div>
</div>
</td>

View File

@@ -355,6 +355,8 @@ sysPass.Triggers = function (log) {
sysPassApp.theme.viewsTriggers.common($container);
}
initializeTags();
sysPassApp.triggers.updateFormHash($container);
},
datatabs: function () {
@@ -437,43 +439,6 @@ sysPass.Triggers = function (log) {
sysPassApp.actions.items.get($selParentAccount);
}
$(".select-box-tags").selectize({
persist: false,
valueField: 'id',
labelField: 'name',
searchField: ['name'],
plugins: ['remove_button'],
onInitialize: function () {
const $wrapper= $(this.$wrapper[0]);
const $input = $(this.$input[0]);
$input.attr("data-hash", sysPassApp.util.hash.md5(this.getValue().join()));
const currentItemId = $input.data("currentItemId");
if (currentItemId !== undefined) {
this.removeOption(currentItemId, true);
}
const $selectBoxTagsNext = $input.siblings(".btn-add-select");
if ($selectBoxTagsNext.length === 1) {
$wrapper.append($selectBoxTagsNext);
}
const $selectBoxIcon = $input.siblings(".select-icon");
if ($selectBoxIcon.length === 1) {
$wrapper.prepend($selectBoxIcon);
}
},
onChange: function () {
const $input = $(this.$input[0]);
const updated = sysPassApp.util.hash.md5(this.getValue().join()) !== $input.data("hash");
$input.attr("data-updated", updated);
}
});
$('input:text:visible:first').focus();
},
install: function () {
@@ -486,6 +451,47 @@ sysPass.Triggers = function (log) {
}
};
const initializeTags = function () {
log.info("initializeTags");
$(".select-box-tags").selectize({
persist: false,
valueField: 'id',
labelField: 'name',
searchField: ['name'],
plugins: ['remove_button'],
onInitialize: function () {
const $wrapper = $(this.$wrapper[0]);
const $input = $(this.$input[0]);
$input.attr("data-hash", sysPassApp.util.hash.md5(this.getValue().join()));
const currentItemId = $input.data("currentItemId");
if (currentItemId !== undefined) {
this.removeOption(currentItemId, true);
}
const $selectBoxTagsNext = $input.siblings(".btn-add-select");
if ($selectBoxTagsNext.length === 1) {
$wrapper.append($selectBoxTagsNext);
}
const $selectBoxIcon = $input.siblings(".select-icon");
if ($selectBoxIcon.length === 1) {
$wrapper.prepend($selectBoxIcon);
}
},
onChange: function () {
const $input = $(this.$input[0]);
const updated = sysPassApp.util.hash.md5(this.getValue().join()) !== $input.data("hash");
$input.attr("data-updated", updated);
}
});
};
/**
* Actualizar el token de seguridad en los atributos de los botones y formularios
*

View File

@@ -1,19 +1,19 @@
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(c,f,e){c instanceof String&&(c=String(c));for(var a=c.length,b=0;b<a;b++){var d=c[b];if(f.call(e,d,b,c))return{i:b,v:d}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(c,f,e){c!=Array.prototype&&c!=Object.prototype&&(c[f]=e.value)};
$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,f,e,a){if(f){e=$jscomp.global;c=c.split(".");for(a=0;a<c.length-1;a++){var b=c[a];b in e||(e[b]={});e=e[b]}c=c[c.length-1];a=e[c];f=f(a);f!=a&&null!=f&&$jscomp.defineProperty(e,c,{configurable:!0,writable:!0,value:f})}};
$jscomp.polyfill("Array.prototype.find",function(c){return c?c:function(c,e){return $jscomp.findInternal(this,c,e).v}},"es6","es3");
sysPass.Triggers=function(c){var f=function(a){var b={valueField:"id",labelField:"name",searchField:["name"],onInitialize:function(){var a=$(this.$wrapper[0]),b=$(this.$input[0]).siblings(".btn-add-select");1===b.length&&a.append(b)}};a.find(".select-box").each(function(a){var c=$(this);a={};!0===c.data("create")&&(a.create=!0);b.plugins=c.hasClass("select-box-deselect")?{clear_selection:{title:sysPassApp.config.LANG[51]}}:{};if(c.data("onchange")){var d=c.data("onchange").split("/");b.onChange=function(a){if(0<
a)if(2===d.length)sysPassApp.actions[d[0]][d[1]](c);else sysPassApp.actions[d[0]](c)}}c.selectize($.extend(a,b))});a.find("#allowed_exts").selectize({create:function(a){return{value:a.toUpperCase(),text:a.toUpperCase()}},createFilter:/^[a-z0-9]{1,4}$/i,plugins:["remove_button"]});a.find("#wikifilter").selectize({create:!0,createFilter:/^[a-z0-9:._-]+$/i,plugins:["remove_button"]});a.find(".select-items-tag").selectize({create:function(a){return{value:a.toLowerCase(),text:a.toLowerCase()}},createFilter:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
plugins:["remove_button"]})},e={main:function(a){c.info("views:main");clipboard.isSupported()||sysPassApp.msg.info(sysPassApp.config.LANG[65]);$(".btn-menu").click(function(){var a=$(this);"1"===a.attr("data-history-reset")&&sysPassApp.requests.history.reset();sysPassApp.actions.doAction({r:a.data("route")},a.data("view"))});if(0===a.data("upgraded"))sysPassApp.actions.doAction({r:"account/index"},"search");else{a=$("#content");var b=a.data("page");e.common(a);if(""!==b&&"function"===typeof e[b])e[b]()}!0===
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(c,e,d){c instanceof String&&(c=String(c));for(var f=c.length,a=0;a<f;a++){var b=c[a];if(e.call(d,b,a,c))return{i:a,v:b}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(c,e,d){c!=Array.prototype&&c!=Object.prototype&&(c[e]=d.value)};
$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,e,d,f){if(e){d=$jscomp.global;c=c.split(".");for(f=0;f<c.length-1;f++){var a=c[f];a in d||(d[a]={});d=d[a]}c=c[c.length-1];f=d[c];e=e(f);e!=f&&null!=e&&$jscomp.defineProperty(d,c,{configurable:!0,writable:!0,value:e})}};
$jscomp.polyfill("Array.prototype.find",function(c){return c?c:function(c,d){return $jscomp.findInternal(this,c,d).v}},"es6","es3");
sysPass.Triggers=function(c){var e=function(a){var b={valueField:"id",labelField:"name",searchField:["name"],onInitialize:function(){var a=$(this.$wrapper[0]),b=$(this.$input[0]).siblings(".btn-add-select");1===b.length&&a.append(b)}};a.find(".select-box").each(function(a){var c=$(this);a={};!0===c.data("create")&&(a.create=!0);b.plugins=c.hasClass("select-box-deselect")?{clear_selection:{title:sysPassApp.config.LANG[51]}}:{};if(c.data("onchange")){var g=c.data("onchange").split("/");b.onChange=function(a){if(0<
a)if(2===g.length)sysPassApp.actions[g[0]][g[1]](c);else sysPassApp.actions[g[0]](c)}}c.selectize($.extend(a,b))});a.find("#allowed_exts").selectize({create:function(a){return{value:a.toUpperCase(),text:a.toUpperCase()}},createFilter:/^[a-z0-9]{1,4}$/i,plugins:["remove_button"]});a.find("#wikifilter").selectize({create:!0,createFilter:/^[a-z0-9:._-]+$/i,plugins:["remove_button"]});a.find(".select-items-tag").selectize({create:function(a){return{value:a.toLowerCase(),text:a.toLowerCase()}},createFilter:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
plugins:["remove_button"]})},d={main:function(a){c.info("views:main");clipboard.isSupported()||sysPassApp.msg.info(sysPassApp.config.LANG[65]);$(".btn-menu").click(function(){var a=$(this);"1"===a.attr("data-history-reset")&&sysPassApp.requests.history.reset();sysPassApp.actions.doAction({r:a.data("route")},a.data("view"))});if(0===a.data("upgraded"))sysPassApp.actions.doAction({r:"account/index"},"search");else{a=$("#content");var b=a.data("page");d.common(a);if(""!==b&&"function"===typeof d[b])d[b]()}!0===
sysPassApp.config.STATUS.CHECK_UPDATES&&sysPassApp.actions.main.getUpdates();!0===sysPassApp.config.STATUS.CHECK_NOTICES&&sysPassApp.actions.main.getNotices();"function"===typeof sysPassApp.theme.viewsTriggers.main&&sysPassApp.theme.viewsTriggers.main()},search:function(){c.info("views:search");var a=$("#frmSearch");0!==a.length&&(a.find("input[name='search']").on("keyup",function(b){b.preventDefault();13!==b.which&&13!==b.keyCode||a.submit()}),a.find("select, #rpp").on("change",function(){a.submit()}),
a.find("button.btn-clear").on("click",function(b){b.preventDefault();a.find('input[name="searchfav"]').val(0);a[0].reset()}),a.find("input:text:visible:first").focus(),$("#globalSearch").click(function(){var b=1==$(this).prop("checked")?1:0;a.find("input[name='gsearch']").val(b);a.submit()}),"function"===typeof sysPassApp.theme.viewsTriggers.search&&sysPassApp.theme.viewsTriggers.search())},login:function(){c.info("views:login");var a=$("#frmLogin");sysPassApp.config.AUTH.AUTHBASIC_AUTOLOGIN&&"0"===
a.find("input[name='loggedOut']").val()&&(c.info("views:login:autologin"),sysPassApp.msg.info(sysPassApp.config.LANG[66]),sysPassApp.actions.main.login(a));a.find("input:visible:first").focus()},userpassreset:function(){c.info("views:userpassreset");var a=$("#frmUserPassReset");sysPassApp.theme.passwordDetect(a)},footer:function(){c.info("views:footer")},common:function(a){c.info("views:common");f(a);var b=a.find(":input [name='sk']");0<b.length&&sysPassApp.sk.set(b.val());"function"===typeof sysPassApp.theme.viewsTriggers.common&&
sysPassApp.theme.viewsTriggers.common(a);sysPassApp.triggers.updateFormHash(a)},datatabs:function(){c.info("views:datatabs");$(".datagrid-action-search>form").each(function(){var a=$(this);a.find("button.btn-clear").on("click",function(b){b.preventDefault();a.trigger("reset")})})},config:function(){c.info("views:config");var a=$("#drop-import-files");if(0<a.length){var b=sysPassApp.util.fileUpload(a);b.url=sysPassApp.actions.ajaxUrl.entrypoint+"?r="+a.data("action-route");b.allowedExts=sysPassApp.config.FILES.IMPORT_ALLOWED_EXTS;
b.beforeSendAction=function(){b.setRequestData({sk:sysPassApp.sk.get(),csvDelimiter:$("#csvDelimiter").val(),importPwd:$("#importPwd").val(),importMasterPwd:$("#importMasterPwd").val(),import_defaultuser:$("#import_defaultuser").val(),import_defaultgroup:$("#import_defaultgroup").val()})}}},account:function(){c.info("views:account");var a=$("#list-account-files");0<a.length&&sysPassApp.actions.account.listFiles(a);var b=$("#drop-account-files");if(0<b.length){var d=sysPassApp.util.fileUpload(b);d.url=
sysPassApp.actions.ajaxUrl.entrypoint+"?r="+b.data("action-route")+"/"+b.data("item-id");d.allowedExts=sysPassApp.config.FILES.ACCOUNT_ALLOWED_EXTS;d.requestDoneAction=function(){sysPassApp.actions.account.listFiles(a)}}b=$("#parent_account_id");0<b.length&&(b.on("change",function(){var a=$(this),b=$("#accountpass,#accountpassR");0<a[0].value?b.each(function(){$(this).prop("disabled","true");$(this).prop("required","false")}):b.each(function(){$(this).prop("disabled","");$(this).prop("required","true")})}),
sysPassApp.actions.items.get(b));$(".select-box-tags").selectize({persist:!1,valueField:"id",labelField:"name",searchField:["name"],plugins:["remove_button"],onInitialize:function(){var a=$(this.$wrapper[0]),b=$(this.$input[0]);b.attr("data-hash",sysPassApp.util.hash.md5(this.getValue().join()));var c=b.data("currentItemId");void 0!==c&&this.removeOption(c,!0);c=b.siblings(".btn-add-select");1===c.length&&a.append(c);b=b.siblings(".select-icon");1===b.length&&a.prepend(b)},onChange:function(){var a=
$(this.$input[0]),b=sysPassApp.util.hash.md5(this.getValue().join())!==a.data("hash");a.attr("data-updated",b)}});$("input:text:visible:first").focus()},install:function(){c.info("views:install");var a=$("#frmInstall");sysPassApp.theme.passwordDetect(a);f(a)}};return{views:e,selectDetect:f,updateSk:function(){$("#content").find("[data-sk]").each(function(){c.info("updateSk");$(this).data("sk",sysPassApp.sk.get())})},updateFormHash:function(a){c.info("updateFormHash");a=void 0!==a?a.find(".form-action[data-hash]"):
$(".form-action[data-hash]");0<a.length&&a.each(function(){var a=$(this);a.attr("data-hash",sysPassApp.util.hash.md5(a.serialize()))})},bodyHooks:function(){c.info("bodyHooks");$("body").on("click","button.btn-action[data-onclick][type='button'],li.btn-action[data-onclick],span.btn-action[data-onclick],i.btn-action[data-onclick],a.btn-action[data-onclick],.btn-action-pager[data-onclick]",function(){var a=$(this);c.info("handleActionButton: "+a.attr("id"));var b=a.data("onclick").split("/");var d=
void 0!==a.data("plugin")&&void 0!==sysPassApp.plugins.plugin?sysPassApp.plugins.plugin:sysPassApp.actions;if(2===b.length)d[b[0]][b[1]](a);else d[b[0]](a)}).on("click",".btn-back",function(){if(0<sysPassApp.requests.history.length()){c.info("back");var a=sysPassApp.requests.history.del();sysPassApp.requests.getActionCall(a,a.callback)}}).on("submit",".form-action",function(a){a.preventDefault();a=$(this);c.info("formAction");var b=a.attr("data-hash"),d=sysPassApp.util.hash.md5(a.serialize());if(b===
d)sysPassApp.msg.ok(sysPassApp.config.LANG[55]);else if(b=void 0!==a.data("plugin")&&void 0!==sysPassApp.plugins.plugin?sysPassApp.plugins.plugin:sysPassApp.actions,d=a.data("onsubmit").split("/"),a.find("input[name='sk']").val(sysPassApp.sk.get()),2===d.length)b[d[0]][d[1]](a);else b[d[0]](a)}).on("click",".btn-help[data-help]",function(){var a=$(this);a=$.find("div[for='"+a.data("help")+"']");if(0<a.length){var b=sysPassApp.config.LANG[54]+" - "+a[0].getAttribute("title")||sysPassApp.config.LANG[54];
a.find("input[name='loggedOut']").val()&&(c.info("views:login:autologin"),sysPassApp.msg.info(sysPassApp.config.LANG[66]),sysPassApp.actions.main.login(a));a.find("input:visible:first").focus()},userpassreset:function(){c.info("views:userpassreset");var a=$("#frmUserPassReset");sysPassApp.theme.passwordDetect(a)},footer:function(){c.info("views:footer")},common:function(a){c.info("views:common");e(a);var b=a.find(":input [name='sk']");0<b.length&&sysPassApp.sk.set(b.val());"function"===typeof sysPassApp.theme.viewsTriggers.common&&
sysPassApp.theme.viewsTriggers.common(a);f();sysPassApp.triggers.updateFormHash(a)},datatabs:function(){c.info("views:datatabs");$(".datagrid-action-search>form").each(function(){var a=$(this);a.find("button.btn-clear").on("click",function(b){b.preventDefault();a.trigger("reset")})})},config:function(){c.info("views:config");var a=$("#drop-import-files");if(0<a.length){var b=sysPassApp.util.fileUpload(a);b.url=sysPassApp.actions.ajaxUrl.entrypoint+"?r="+a.data("action-route");b.allowedExts=sysPassApp.config.FILES.IMPORT_ALLOWED_EXTS;
b.beforeSendAction=function(){b.setRequestData({sk:sysPassApp.sk.get(),csvDelimiter:$("#csvDelimiter").val(),importPwd:$("#importPwd").val(),importMasterPwd:$("#importMasterPwd").val(),import_defaultuser:$("#import_defaultuser").val(),import_defaultgroup:$("#import_defaultgroup").val()})}}},account:function(){c.info("views:account");var a=$("#list-account-files");0<a.length&&sysPassApp.actions.account.listFiles(a);var b=$("#drop-account-files");if(0<b.length){var g=sysPassApp.util.fileUpload(b);g.url=
sysPassApp.actions.ajaxUrl.entrypoint+"?r="+b.data("action-route")+"/"+b.data("item-id");g.allowedExts=sysPassApp.config.FILES.ACCOUNT_ALLOWED_EXTS;g.requestDoneAction=function(){sysPassApp.actions.account.listFiles(a)}}b=$("#parent_account_id");0<b.length&&(b.on("change",function(){var a=$(this),b=$("#accountpass,#accountpassR");0<a[0].value?b.each(function(){$(this).prop("disabled","true");$(this).prop("required","false")}):b.each(function(){$(this).prop("disabled","");$(this).prop("required","true")})}),
sysPassApp.actions.items.get(b));$("input:text:visible:first").focus()},install:function(){c.info("views:install");var a=$("#frmInstall");sysPassApp.theme.passwordDetect(a);e(a)}},f=function(){c.info("initializeTags");$(".select-box-tags").selectize({persist:!1,valueField:"id",labelField:"name",searchField:["name"],plugins:["remove_button"],onInitialize:function(){var a=$(this.$wrapper[0]),b=$(this.$input[0]);b.attr("data-hash",sysPassApp.util.hash.md5(this.getValue().join()));var c=b.data("currentItemId");
void 0!==c&&this.removeOption(c,!0);c=b.siblings(".btn-add-select");1===c.length&&a.append(c);b=b.siblings(".select-icon");1===b.length&&a.prepend(b)},onChange:function(){var a=$(this.$input[0]),b=sysPassApp.util.hash.md5(this.getValue().join())!==a.data("hash");a.attr("data-updated",b)}})};return{views:d,selectDetect:e,updateSk:function(){$("#content").find("[data-sk]").each(function(){c.info("updateSk");$(this).data("sk",sysPassApp.sk.get())})},updateFormHash:function(a){c.info("updateFormHash");
a=void 0!==a?a.find(".form-action[data-hash]"):$(".form-action[data-hash]");0<a.length&&a.each(function(){var a=$(this);a.attr("data-hash",sysPassApp.util.hash.md5(a.serialize()))})},bodyHooks:function(){c.info("bodyHooks");$("body").on("click","button.btn-action[data-onclick][type='button'],li.btn-action[data-onclick],span.btn-action[data-onclick],i.btn-action[data-onclick],a.btn-action[data-onclick],.btn-action-pager[data-onclick]",function(){var a=$(this);c.info("handleActionButton: "+a.attr("id"));
var b=a.data("onclick").split("/");var d=void 0!==a.data("plugin")&&void 0!==sysPassApp.plugins.plugin?sysPassApp.plugins.plugin:sysPassApp.actions;if(2===b.length)d[b[0]][b[1]](a);else d[b[0]](a)}).on("click",".btn-back",function(){if(0<sysPassApp.requests.history.length()){c.info("back");var a=sysPassApp.requests.history.del();sysPassApp.requests.getActionCall(a,a.callback)}}).on("submit",".form-action",function(a){a.preventDefault();a=$(this);c.info("formAction");var b=a.attr("data-hash"),d=sysPassApp.util.hash.md5(a.serialize());
if(b===d)sysPassApp.msg.ok(sysPassApp.config.LANG[55]);else if(b=void 0!==a.data("plugin")&&void 0!==sysPassApp.plugins.plugin?sysPassApp.plugins.plugin:sysPassApp.actions,d=a.data("onsubmit").split("/"),a.find("input[name='sk']").val(sysPassApp.sk.get()),2===d.length)b[d[0]][d[1]](a);else b[d[0]](a)}).on("click",".btn-help[data-help]",function(){var a=$(this);a=$.find("div[for='"+a.data("help")+"']");if(0<a.length){var b=sysPassApp.config.LANG[54]+" - "+a[0].getAttribute("title")||sysPassApp.config.LANG[54];
mdlDialog().show({title:b,text:a[0].innerHTML,positive:{title:sysPassApp.config.LANG[43]}})}}).on("reset",".form-action",function(a){a.preventDefault();c.info("reset");a=$(this);a.find("input:text, input:password, input:file, textarea").val("").parent("div").removeClass("is-dirty");a.find("input:radio, input:checkbox").prop("checked",!1).prop("selected",!1);a.find("input[name='start'], input[name='skey'], input[name='sorder']").val(0);a.find("select").each(function(){$(this)[0].selectize.clear(!0)});
a.submit()}).on("click",".btn-popup-close",function(a){$.magnificPopup.close()})}}};