v2.2.0RC1
v2.2.0RC1
This commit is contained in:
@@ -112,6 +112,8 @@ public class Apps extends JpaBaseDomain implements Serializable {
|
||||
*/
|
||||
private int isExtendAttr;
|
||||
private String extendAttr;
|
||||
|
||||
private String userPropertys;
|
||||
|
||||
/**
|
||||
* Signature for client verify create by SignaturePublicKey &
|
||||
@@ -388,6 +390,14 @@ public class Apps extends JpaBaseDomain implements Serializable {
|
||||
this.extendAttr = extendAttr;
|
||||
}
|
||||
|
||||
public String getUserPropertys() {
|
||||
return userPropertys;
|
||||
}
|
||||
|
||||
public void setUserPropertys(String userPropertys) {
|
||||
this.userPropertys = userPropertys;
|
||||
}
|
||||
|
||||
public int getVisible() {
|
||||
return visible;
|
||||
}
|
||||
|
||||
@@ -58,194 +58,88 @@ public class AppsTokenBasedDetails extends Apps {
|
||||
private String algorithmKey;
|
||||
@Column
|
||||
private String expires;
|
||||
|
||||
//
|
||||
@Column
|
||||
private int uid;
|
||||
@Column
|
||||
private int username;
|
||||
@Column
|
||||
private int email;
|
||||
@Column
|
||||
private int windowsAccount;
|
||||
@Column
|
||||
private int employeeNumber;
|
||||
@Column
|
||||
private int departmentId;
|
||||
@Column
|
||||
private int department;
|
||||
|
||||
|
||||
|
||||
|
||||
public AppsTokenBasedDetails() {
|
||||
super();
|
||||
}
|
||||
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getRedirectUri() {
|
||||
return redirectUri;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
|
||||
public void setRedirectUri(String redirectUri) {
|
||||
this.redirectUri = redirectUri;
|
||||
}
|
||||
public String getRedirectUri() {
|
||||
return redirectUri;
|
||||
}
|
||||
|
||||
|
||||
public void setRedirectUri(String redirectUri) {
|
||||
this.redirectUri = redirectUri;
|
||||
}
|
||||
|
||||
public String getCookieName() {
|
||||
return cookieName;
|
||||
}
|
||||
|
||||
public String getTokenType() {
|
||||
return tokenType;
|
||||
}
|
||||
|
||||
|
||||
public void setCookieName(String cookieName) {
|
||||
this.cookieName = cookieName;
|
||||
}
|
||||
public void setTokenType(String tokenType) {
|
||||
this.tokenType = tokenType;
|
||||
}
|
||||
|
||||
|
||||
public String getCookieName() {
|
||||
return cookieName;
|
||||
}
|
||||
|
||||
public String getAlgorithm() {
|
||||
return algorithm;
|
||||
}
|
||||
|
||||
public void setCookieName(String cookieName) {
|
||||
this.cookieName = cookieName;
|
||||
}
|
||||
|
||||
|
||||
public void setAlgorithm(String algorithm) {
|
||||
this.algorithm = algorithm;
|
||||
}
|
||||
public String getAlgorithm() {
|
||||
return algorithm;
|
||||
}
|
||||
|
||||
|
||||
public void setAlgorithm(String algorithm) {
|
||||
this.algorithm = algorithm;
|
||||
}
|
||||
|
||||
public String getAlgorithmKey() {
|
||||
return algorithmKey;
|
||||
}
|
||||
|
||||
public String getAlgorithmKey() {
|
||||
return algorithmKey;
|
||||
}
|
||||
|
||||
|
||||
public void setAlgorithmKey(String algorithmKey) {
|
||||
this.algorithmKey = algorithmKey;
|
||||
}
|
||||
public void setAlgorithmKey(String algorithmKey) {
|
||||
this.algorithmKey = algorithmKey;
|
||||
}
|
||||
|
||||
|
||||
public String getExpires() {
|
||||
return expires;
|
||||
}
|
||||
|
||||
public String getExpires() {
|
||||
return expires;
|
||||
}
|
||||
|
||||
public void setExpires(String expires) {
|
||||
this.expires = expires;
|
||||
}
|
||||
|
||||
|
||||
public void setExpires(String expires) {
|
||||
this.expires = expires;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setUid(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setUsername(int username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setEmail(int email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getWindowsAccount() {
|
||||
return windowsAccount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setWindowsAccount(int windowsAccount) {
|
||||
this.windowsAccount = windowsAccount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getTokenType() {
|
||||
return tokenType;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setTokenType(String tokenType) {
|
||||
this.tokenType = tokenType;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getEmployeeNumber() {
|
||||
return employeeNumber;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setEmployeeNumber(int employeeNumber) {
|
||||
this.employeeNumber = employeeNumber;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getDepartmentId() {
|
||||
return departmentId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setDepartmentId(int departmentId) {
|
||||
this.departmentId = departmentId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getDepartment() {
|
||||
return department;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setDepartment(int department) {
|
||||
this.department = department;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TokenBasedDetails [redirectUri=" + redirectUri + ", cookieName=" + cookieName + ", algorithm="
|
||||
+ algorithm + ", algorithmKey=" + algorithmKey + ", expires=" + expires + ", uid=" + uid + ", username="
|
||||
+ username + ", email=" + email + ", windowsAccount=" + windowsAccount + ", employeeNumber="
|
||||
+ employeeNumber + ", departmentId=" + departmentId + ", department=" + department + "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "AppsTokenBasedDetails [id=" + id + ", redirectUri=" + redirectUri + ", tokenType=" + tokenType
|
||||
+ ", cookieName=" + cookieName + ", algorithm=" + algorithm + ", algorithmKey=" + algorithmKey
|
||||
+ ", expires=" + expires + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
-2
@@ -56,6 +56,7 @@
|
||||
|
||||
ISEXTENDATTR,
|
||||
EXTENDATTR,
|
||||
USERPROPERTYS,
|
||||
|
||||
ISSIGNATURE,
|
||||
|
||||
@@ -92,7 +93,7 @@
|
||||
|
||||
#{isExtendAttr},
|
||||
#{extendAttr},
|
||||
|
||||
#{userPropertys},
|
||||
#{isSignature},
|
||||
|
||||
#{isAdapter},
|
||||
@@ -133,7 +134,7 @@
|
||||
|
||||
ISEXTENDATTR = #{isExtendAttr},
|
||||
EXTENDATTR = #{extendAttr},
|
||||
|
||||
USERPROPERTYS = #{userPropertys},
|
||||
ISSIGNATURE = #{isSignature},
|
||||
|
||||
<if test="adapter != null">
|
||||
|
||||
+27
-22
@@ -21,7 +21,6 @@ import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.Boolean;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.DateUtils;
|
||||
@@ -40,27 +39,33 @@ public class TokenBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
|
||||
beanMap.put("randomId",(new StringGenerator()).uuidGenerate());
|
||||
|
||||
if(Boolean.isTrue(details.getUid())){
|
||||
beanMap.put("uid",userInfo.getId());
|
||||
}
|
||||
if(Boolean.isTrue(details.getUsername())){
|
||||
beanMap.put("username", userInfo.getUsername());
|
||||
}
|
||||
if(Boolean.isTrue(details.getEmail())){
|
||||
beanMap.put("email", userInfo.getEmail());
|
||||
}
|
||||
if(Boolean.isTrue(details.getWindowsAccount())){
|
||||
beanMap.put("windowsAccount", userInfo.getWindowsAccount());
|
||||
}
|
||||
if(Boolean.isTrue(details.getEmployeeNumber())){
|
||||
beanMap.put("employeeNumber", userInfo.getEmployeeNumber());
|
||||
}
|
||||
if(Boolean.isTrue(details.getDepartmentId())){
|
||||
beanMap.put("departmentId", userInfo.getDepartmentId());
|
||||
}
|
||||
if(Boolean.isTrue(details.getDepartment())){
|
||||
beanMap.put("department", userInfo.getDepartment());
|
||||
}
|
||||
if(details.getUserPropertys().indexOf("uid")>-1){
|
||||
beanMap.put("uid",userInfo.getId());
|
||||
}
|
||||
|
||||
if(details.getUserPropertys().indexOf("username")>-1){
|
||||
beanMap.put("username",userInfo.getUsername());
|
||||
}
|
||||
|
||||
if(details.getUserPropertys().indexOf("email")>-1){
|
||||
beanMap.put("email",userInfo.getEmail());
|
||||
}
|
||||
|
||||
if(details.getUserPropertys().indexOf("windowsAccount")>-1){
|
||||
beanMap.put("windowsAccount",userInfo.getWindowsAccount());
|
||||
}
|
||||
|
||||
if(details.getUserPropertys().indexOf("employeeNumber")>-1){
|
||||
beanMap.put("employeeNumber",userInfo.getEmployeeNumber());
|
||||
}
|
||||
|
||||
if(details.getUserPropertys().indexOf("department")>-1){
|
||||
beanMap.put("department",userInfo.getDepartment());
|
||||
}
|
||||
|
||||
if(details.getUserPropertys().indexOf("departmentId")>-1){
|
||||
beanMap.put("departmentId",userInfo.getDepartmentId());
|
||||
}
|
||||
|
||||
beanMap.put("displayName", userInfo.getDisplayName());
|
||||
|
||||
|
||||
+10
-8
@@ -20,7 +20,6 @@ package org.maxkey.authz.token.endpoint.adapter;
|
||||
import java.util.Date;
|
||||
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.Boolean;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.DateUtils;
|
||||
@@ -36,19 +35,22 @@ public class TokenBasedSimpleAdapter extends AbstractAuthorizeAdapter {
|
||||
|
||||
String tokenUsername="";
|
||||
|
||||
if(Boolean.isTrue(details.getUid())){
|
||||
|
||||
if(details.getUserPropertys().indexOf("uid")>-1){
|
||||
tokenUsername=userInfo.getId();
|
||||
}else if(Boolean.isTrue(details.getUsername())){
|
||||
}else if(details.getUserPropertys().indexOf("username")>-1){
|
||||
tokenUsername= userInfo.getUsername();
|
||||
}else if(Boolean.isTrue(details.getEmail())){
|
||||
}else if(details.getUserPropertys().indexOf("email")>-1){
|
||||
tokenUsername=userInfo.getEmail();
|
||||
}else if(Boolean.isTrue(details.getWindowsAccount())){
|
||||
}else if(details.getUserPropertys().indexOf("windowsAccount")>-1){
|
||||
tokenUsername= userInfo.getWindowsAccount();
|
||||
}else if(Boolean.isTrue(details.getEmployeeNumber())){
|
||||
}else if(details.getUserPropertys().indexOf("employeeNumber")>-1){
|
||||
tokenUsername=userInfo.getEmployeeNumber();
|
||||
}else if(Boolean.isTrue(details.getDepartmentId())){
|
||||
}else if(details.getUserPropertys().indexOf("department")>-1){
|
||||
tokenUsername= userInfo.getDepartmentId();
|
||||
}
|
||||
}else if(details.getUserPropertys().indexOf("departmentId")>-1){
|
||||
tokenUsername= userInfo.getDepartment();
|
||||
}
|
||||
|
||||
/*
|
||||
* use UTC date time format
|
||||
|
||||
+1
@@ -52,6 +52,7 @@ public class TokenBasedDetailsController extends BaseAppContorller {
|
||||
tokenBasedDetails.setProtocol(ConstantsProtocols.TOKENBASED);
|
||||
tokenBasedDetails.setSecret(ReciprocalUtils.generateKey(ReciprocalUtils.Algorithm.AES));
|
||||
tokenBasedDetails.setAlgorithmKey(tokenBasedDetails.getSecret());
|
||||
tokenBasedDetails.setUserPropertys("userPropertys");
|
||||
modelAndView.addObject("model",tokenBasedDetails);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ userinfo.employeeNumber=\u5458\u5DE5\u7F16\u53F7
|
||||
userinfo.windowsAccount=AD\u57DF\u8D26\u53F7
|
||||
userinfo.organization=\u6240\u5C5E\u673A\u6784
|
||||
userinfo.division=\u5206\u652F\u673A\u6784
|
||||
userinfo.department=\u90E8\u95E8
|
||||
userinfo.department=\u90E8\u95E8\u540D\u79F0
|
||||
userinfo.departmentId=\u90E8\u95E8\u7F16\u53F7
|
||||
userinfo.costCenter=\u6210\u672C\u4E2D\u5FC3
|
||||
userinfo.jobTitle=\u804C\u4F4D
|
||||
|
||||
@@ -165,7 +165,7 @@ userinfo.employeeNumber=\u5458\u5DE5\u7F16\u53F7
|
||||
userinfo.windowsAccount=AD\u57DF\u8D26\u53F7
|
||||
userinfo.organization=\u6240\u5C5E\u673A\u6784
|
||||
userinfo.division=\u5206\u652F\u673A\u6784
|
||||
userinfo.department=\u90E8\u95E8
|
||||
userinfo.department=\u90E8\u95E8\u540D\u79F0
|
||||
userinfo.departmentId=\u90E8\u95E8\u7F16\u53F7
|
||||
userinfo.costCenter=\u6210\u672C\u4E2D\u5FC3
|
||||
userinfo.jobTitle=\u804C\u4F4D
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select en-US translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['en-US'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[Select all]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return 'All selected';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return count + ' of ' + total + ' selected';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return 'No matches found';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['en-US']);
|
||||
|
||||
}));
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((e=e||self).jQuery)}(this,(function(e){"use strict";(e=e&&e.hasOwnProperty("default")?e.default:e).fn.multipleSelect.locales["en-US"]={formatSelectAll:function(){return"[Select all]"},formatAllSelected:function(){return"All selected"},formatCountSelected:function(e,t){return e+" of "+t+" selected"},formatNoMatchesFound:function(){return"No matches found"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["en-US"])}));
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select en-US translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['en-US'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[Select all]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return 'All selected';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return count + ' of ' + total + ' selected';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return 'No matches found';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['en-US']);
|
||||
|
||||
}));
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select es-ES translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['es-ES'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[Seleccionar todo]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return 'Todos seleccionados';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return count + ' de ' + total + ' seleccionado';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return 'No se encontraron coincidencias';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['es-ES']);
|
||||
|
||||
}));
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((e=e||self).jQuery)}(this,(function(e){"use strict";(e=e&&e.hasOwnProperty("default")?e.default:e).fn.multipleSelect.locales["es-ES"]={formatSelectAll:function(){return"[Seleccionar todo]"},formatAllSelected:function(){return"Todos seleccionados"},formatCountSelected:function(e,t){return e+" de "+t+" seleccionado"},formatNoMatchesFound:function(){return"No se encontraron coincidencias"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["es-ES"])}));
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select it-IT translation
|
||||
* Author: Giuseppe Lodi Rizzini
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['it-IT'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[Seleziona tutti]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return 'Tutti selezionati';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return count + ' di ' + total + ' selezionati';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return 'Nessun risultato';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['it-IT']);
|
||||
|
||||
}));
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((e=e||self).jQuery)}(this,(function(e){"use strict";(e=e&&e.hasOwnProperty("default")?e.default:e).fn.multipleSelect.locales["it-IT"]={formatSelectAll:function(){return"[Seleziona tutti]"},formatAllSelected:function(){return"Tutti selezionati"},formatCountSelected:function(e,t){return e+" di "+t+" selezionati"},formatNoMatchesFound:function(){return"Nessun risultato"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["it-IT"])}));
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select zh-CN translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['zh-CN'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[全选]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return '已选择所有记录';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return '已从' + total + '条记录中选择' + count + '条';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return '没有找到记录';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['zh-CN']);
|
||||
|
||||
}));
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((e=e||self).jQuery)}(this,(function(e){"use strict";(e=e&&e.hasOwnProperty("default")?e.default:e).fn.multipleSelect.locales["zh-CN"]={formatSelectAll:function(){return"[全选]"},formatAllSelected:function(){return"已选择所有记录"},formatCountSelected:function(e,t){return"已从"+t+"条记录中选择"+e+"条"},formatNoMatchesFound:function(){return"没有找到记录"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["zh-CN"])}));
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select zh-TW translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['zh-TW'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[全選]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return '已選擇所有記錄';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return '已從' + total + '條記錄中選擇' + count + '條';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return '沒有找到記錄';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['zh-TW']);
|
||||
|
||||
}));
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((e=e||self).jQuery)}(this,(function(e){"use strict";(e=e&&e.hasOwnProperty("default")?e.default:e).fn.multipleSelect.locales["zh-TW"]={formatSelectAll:function(){return"[全選]"},formatAllSelected:function(){return"已選擇所有記錄"},formatCountSelected:function(e,t){return"已從"+t+"條記錄中選擇"+e+"條"},formatNoMatchesFound:function(){return"沒有找到記錄"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["zh-TW"])}));
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select zh-CN translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['zh-CN'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[全选]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return '已选择所有记录';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return '已从' + total + '条记录中选择' + count + '条';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return '没有找到记录';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['zh-CN']);
|
||||
|
||||
}));
|
||||
+4279
File diff suppressed because it is too large
Load Diff
Vendored
+10
File diff suppressed because one or more lines are too long
+114
@@ -0,0 +1,114 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
/**
|
||||
* Multiple Select en-US translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['en-US'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[Select all]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return 'All selected';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return count + ' of ' + total + ' selected';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return 'No matches found';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['en-US']);
|
||||
|
||||
/**
|
||||
* Multiple Select es-ES translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['es-ES'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[Seleccionar todo]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return 'Todos seleccionados';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return count + ' de ' + total + ' seleccionado';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return 'No se encontraron coincidencias';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['es-ES']);
|
||||
|
||||
/**
|
||||
* Multiple Select it-IT translation
|
||||
* Author: Giuseppe Lodi Rizzini
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['it-IT'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[Seleziona tutti]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return 'Tutti selezionati';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return count + ' di ' + total + ' selezionati';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return 'Nessun risultato';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['it-IT']);
|
||||
|
||||
/**
|
||||
* Multiple Select zh-CN translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['zh-CN'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[全选]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return '已选择所有记录';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return '已从' + total + '条记录中选择' + count + '条';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return '没有找到记录';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['zh-CN']);
|
||||
|
||||
/**
|
||||
* Multiple Select zh-TW translation
|
||||
* Author: Zhixin Wen<wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.multipleSelect.locales['zh-TW'] = {
|
||||
formatSelectAll: function formatSelectAll() {
|
||||
return '[全選]';
|
||||
},
|
||||
formatAllSelected: function formatAllSelected() {
|
||||
return '已選擇所有記錄';
|
||||
},
|
||||
formatCountSelected: function formatCountSelected(count, total) {
|
||||
return '已從' + total + '條記錄中選擇' + count + '條';
|
||||
},
|
||||
formatNoMatchesFound: function formatNoMatchesFound() {
|
||||
return '沒有找到記錄';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.multipleSelect.defaults, $.fn.multipleSelect.locales['zh-TW']);
|
||||
|
||||
}));
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((e=e||self).jQuery)}(this,(function(e){"use strict";(e=e&&e.hasOwnProperty("default")?e.default:e).fn.multipleSelect.locales["en-US"]={formatSelectAll:function(){return"[Select all]"},formatAllSelected:function(){return"All selected"},formatCountSelected:function(e,t){return e+" of "+t+" selected"},formatNoMatchesFound:function(){return"No matches found"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["en-US"]),e.fn.multipleSelect.locales["es-ES"]={formatSelectAll:function(){return"[Seleccionar todo]"},formatAllSelected:function(){return"Todos seleccionados"},formatCountSelected:function(e,t){return e+" de "+t+" seleccionado"},formatNoMatchesFound:function(){return"No se encontraron coincidencias"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["es-ES"]),e.fn.multipleSelect.locales["it-IT"]={formatSelectAll:function(){return"[Seleziona tutti]"},formatAllSelected:function(){return"Tutti selezionati"},formatCountSelected:function(e,t){return e+" di "+t+" selezionati"},formatNoMatchesFound:function(){return"Nessun risultato"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["it-IT"]),e.fn.multipleSelect.locales["zh-CN"]={formatSelectAll:function(){return"[全选]"},formatAllSelected:function(){return"已选择所有记录"},formatCountSelected:function(e,t){return"已从"+t+"条记录中选择"+e+"条"},formatNoMatchesFound:function(){return"没有找到记录"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["zh-CN"]),e.fn.multipleSelect.locales["zh-TW"]={formatSelectAll:function(){return"[全選]"},formatAllSelected:function(){return"已選擇所有記錄"},formatCountSelected:function(e,t){return"已從"+t+"條記錄中選擇"+e+"條"},formatNoMatchesFound:function(){return"沒有找到記錄"}},e.extend(e.fn.multipleSelect.defaults,e.fn.multipleSelect.locales["zh-TW"])}));
|
||||
+2375
File diff suppressed because it is too large
Load Diff
+10
File diff suppressed because one or more lines are too long
+2383
File diff suppressed because it is too large
Load Diff
Vendored
+10
File diff suppressed because one or more lines are too long
+188
@@ -0,0 +1,188 @@
|
||||
@charset "UTF-8";
|
||||
/**
|
||||
* @author zhixin wen <wenzhixin2010@gmail.com>
|
||||
*/
|
||||
.ms-offscreen {
|
||||
clip: rect(0 0 0 0) !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
border: 0 !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden !important;
|
||||
position: absolute !important;
|
||||
outline: 0 !important;
|
||||
left: auto !important;
|
||||
top: auto !important; }
|
||||
|
||||
.ms-parent {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
vertical-align: middle; }
|
||||
|
||||
.ms-choice {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 26px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
border: 0px ;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
line-height: 26px;
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
border-radius: 0px;
|
||||
background-color: #fff; }
|
||||
.ms-choice.disabled {
|
||||
background-color: #f4f4f4;
|
||||
background-image: none;
|
||||
border: 0px solid #ddd;
|
||||
cursor: default; }
|
||||
.ms-choice > span {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 20px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
padding-left: 8px; }
|
||||
.ms-choice > span.placeholder {
|
||||
color: #999; }
|
||||
.ms-choice > div.icon-close {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 16px;
|
||||
height: 100%;
|
||||
width: 16px; }
|
||||
.ms-choice > div.icon-close:before {
|
||||
content: '×';
|
||||
color: #888;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -14px; }
|
||||
.ms-choice > div.icon-close:hover:before {
|
||||
color: #333; }
|
||||
.ms-choice > div.icon-caret {
|
||||
position: absolute;
|
||||
width: 0;
|
||||
height: 0;
|
||||
top: 50%;
|
||||
right: 8px;
|
||||
margin-top: -2px;
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px; }
|
||||
.ms-choice > div.icon-caret.open {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
|
||||
.ms-parent button:focus{
|
||||
border: 0px ;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.ms-drop {
|
||||
width: auto;
|
||||
min-width: 100%;
|
||||
overflow: hidden;
|
||||
display: none;
|
||||
margin-top: -1px;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
background: #fff;
|
||||
color: #000;
|
||||
border: 0px solid #aaa;
|
||||
border-radius: 4px; }
|
||||
.ms-drop.bottom {
|
||||
top: 100%;
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); }
|
||||
.ms-drop.top {
|
||||
bottom: 100%;
|
||||
box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15); }
|
||||
|
||||
.ms-search {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
min-height: 26px;
|
||||
padding: 2px;
|
||||
position: relative;
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
z-index: 10000;
|
||||
box-sizing: border-box; }
|
||||
.ms-search input {
|
||||
width: 100%;
|
||||
height: auto !important;
|
||||
min-height: 24px;
|
||||
padding: 0 5px;
|
||||
margin: 0;
|
||||
outline: 0;
|
||||
font-family: sans-serif;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 5px;
|
||||
box-shadow: none; }
|
||||
|
||||
.ms-drop ul {
|
||||
overflow: auto;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
.ms-drop ul > li {
|
||||
list-style: none;
|
||||
display: list-item;
|
||||
background-image: none;
|
||||
position: static;
|
||||
padding: .25rem 8px; }
|
||||
.ms-drop ul > li .disabled {
|
||||
font-weight: normal !important;
|
||||
opacity: .35;
|
||||
filter: Alpha(Opacity=35);
|
||||
cursor: default; }
|
||||
.ms-drop ul > li.multiple {
|
||||
display: block;
|
||||
float: left; }
|
||||
.ms-drop ul > li.group {
|
||||
clear: both; }
|
||||
.ms-drop ul > li.multiple label {
|
||||
width: 100%;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis; }
|
||||
.ms-drop ul > li label {
|
||||
position: relative;
|
||||
padding-left: 1.25rem;
|
||||
margin-bottom: 0;
|
||||
font-weight: normal;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
cursor: pointer; }
|
||||
.ms-drop ul > li label.optgroup {
|
||||
font-weight: bold; }
|
||||
.ms-drop ul > li.hide-radio {
|
||||
padding: 0; }
|
||||
.ms-drop ul > li.hide-radio:focus, .ms-drop ul > li.hide-radio:hover {
|
||||
background-color: #f8f9fa; }
|
||||
.ms-drop ul > li.hide-radio.selected {
|
||||
color: #fff;
|
||||
background-color: #007bff; }
|
||||
.ms-drop ul > li.hide-radio label {
|
||||
margin-bottom: 0;
|
||||
padding: 5px 8px; }
|
||||
.ms-drop ul > li.hide-radio input {
|
||||
display: none; }
|
||||
.ms-drop ul > li.option-level-1 label {
|
||||
padding-left: 28px; }
|
||||
|
||||
.ms-drop input[type="radio"], .ms-drop input[type="checkbox"] {
|
||||
position: absolute;
|
||||
margin-top: .3rem;
|
||||
margin-left: -1.25rem; }
|
||||
|
||||
.ms-drop .ms-no-results {
|
||||
display: none; }
|
||||
+4289
File diff suppressed because it is too large
Load Diff
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
@charset "UTF-8";.ms-offscreen{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:auto!important;top:auto!important}.ms-parent{display:inline-block;position:relative;vertical-align:middle}.ms-choice{display:block;width:100%;height:26px;padding:0;overflow:hidden;cursor:pointer;border:1px solid #aaa;text-align:left;white-space:nowrap;line-height:26px;color:#444;text-decoration:none;border-radius:4px;background-color:#fff}.ms-choice.disabled{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.ms-choice>span{position:absolute;top:0;left:0;right:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-left:8px}.ms-choice>span.placeholder{color:#999}.ms-choice>div.icon-close{position:absolute;top:0;right:16px;height:100%;width:16px}.ms-choice>div.icon-close:before{content:'×';color:#888;font-weight:bold;position:absolute;top:50%;margin-top:-14px}.ms-choice>div.icon-close:hover:before{color:#333}.ms-choice>div.icon-caret{position:absolute;width:0;height:0;top:50%;right:8px;margin-top:-2px;border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px}.ms-choice>div.icon-caret.open{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.ms-drop{width:auto;min-width:100%;overflow:hidden;display:none;margin-top:-1px;padding:0;position:absolute;z-index:1000;background:#fff;color:#000;border:1px solid #aaa;border-radius:4px}.ms-drop.bottom{top:100%;box-shadow:0 4px 5px rgba(0,0,0,0.15)}.ms-drop.top{bottom:100%;box-shadow:0 -4px 5px rgba(0,0,0,0.15)}.ms-search{display:inline-block;margin:0;min-height:26px;padding:2px;position:relative;white-space:nowrap;width:100%;z-index:10000;box-sizing:border-box}.ms-search input{width:100%;height:auto!important;min-height:24px;padding:0 5px;margin:0;outline:0;font-family:sans-serif;border:1px solid #aaa;border-radius:5px;box-shadow:none}.ms-drop ul{overflow:auto;margin:0;padding:0}.ms-drop ul>li{list-style:none;display:list-item;background-image:none;position:static;padding:.25rem 8px}.ms-drop ul>li .disabled{font-weight:normal!important;opacity:.35;filter:Alpha(Opacity=35);cursor:default}.ms-drop ul>li.multiple{display:block;float:left}.ms-drop ul>li.group{clear:both}.ms-drop ul>li.multiple label{width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-drop ul>li label{position:relative;padding-left:1.25rem;margin-bottom:0;font-weight:normal;display:block;white-space:nowrap;cursor:pointer}.ms-drop ul>li label.optgroup{font-weight:bold}.ms-drop ul>li.hide-radio{padding:0}.ms-drop ul>li.hide-radio:focus,.ms-drop ul>li.hide-radio:hover{background-color:#f8f9fa}.ms-drop ul>li.hide-radio.selected{color:#fff;background-color:#007bff}.ms-drop ul>li.hide-radio label{margin-bottom:0;padding:5px 8px}.ms-drop ul>li.hide-radio input{display:none}.ms-drop ul>li.option-level-1 label{padding-left:28px}.ms-drop input[type="radio"],.ms-drop input[type="checkbox"]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.ms-drop .ms-no-results{display:none}
|
||||
Vendored
+10
File diff suppressed because one or more lines are too long
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
.ms-parent.form-control {
|
||||
padding: 0; }
|
||||
.ms-parent.form-control .ms-choice {
|
||||
height: 100%;
|
||||
border: 0; }
|
||||
.ms-parent.form-control .ms-choice > span {
|
||||
top: 50%;
|
||||
transform: translateY(-50%); }
|
||||
.ms-parent.form-control.form-control-sm .ms-drop input[type=radio],
|
||||
.ms-parent.form-control.form-control-sm .ms-drop input[type=checkbox] {
|
||||
margin-top: 0.4rem; }
|
||||
.ms-parent.form-control.form-control-lg .ms-drop input[type=radio],
|
||||
.ms-parent.form-control.form-control-lg .ms-drop input[type=checkbox] {
|
||||
margin-top: 0.5rem; }
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
|
||||
*
|
||||
* @version v1.5.2
|
||||
* @homepage http://multiple-select.wenzhixin.net.cn
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
.ms-parent.form-control{padding:0}.ms-parent.form-control .ms-choice{height:100%;border:0}.ms-parent.form-control .ms-choice>span{top:50%;transform:translateY(-50%)}.ms-parent.form-control.form-control-sm .ms-drop input[type=radio],.ms-parent.form-control.form-control-sm .ms-drop input[type=checkbox]{margin-top:.4rem}.ms-parent.form-control.form-control-lg .ms-drop input[type=radio],.ms-parent.form-control.form-control-lg .ms-drop input[type=checkbox]{margin-top:.5rem}
|
||||
@@ -532,16 +532,14 @@ $(function(){
|
||||
$.dialog.close();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($("#actionForm")){//#actionForm attr forward
|
||||
if($("#actionForm").attr("forward")){
|
||||
document.location.href=$("#actionForm").attr("forward");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if($("form")){//#actionForm attr forward
|
||||
if($("form")){//#Form attr forward
|
||||
if($("form").attr("closeWindow")){
|
||||
window.close();
|
||||
return;
|
||||
}
|
||||
|
||||
if($("form").attr("forward")){
|
||||
document.location.href=$("form").attr("forward");
|
||||
return;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<#include "../appCommonHead.ftl"/>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/basic/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<#include "../appCommonHead.ftl"/>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/basic/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -13,20 +13,14 @@
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
$(function(){
|
||||
$("#algorithm").change(function(){
|
||||
$.post("<s:Base/>/apps/generate/secret/"+$(this).val(), {_method:"post",currTime:(new Date()).getTime()}, function(data) {
|
||||
$("#secret").val(data+"");
|
||||
$("#secret_text").html(data+"");
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
$("#isAdapter").val("1");
|
||||
$("#adapter").val("org.maxkey.authz.cas.endpoint.adapter.CasDefaultAdapter");
|
||||
});
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/cas/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -36,7 +36,7 @@ $(function(){
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/cas/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -60,7 +60,7 @@ $(function(){
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/desktop/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -60,7 +60,7 @@ $(function(){
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/desktop/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -26,7 +26,7 @@ $(function(){
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/extendapi/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<!--
|
||||
$(function(){
|
||||
|
||||
$("input[name='credential']").on("click",function(){
|
||||
$("select[name='credential']").on("click",function(){
|
||||
if($(this).val()=="3"){
|
||||
$("#sharedconfigure").hide();
|
||||
$("#systemconfigure").hide();
|
||||
@@ -25,7 +25,7 @@ $(function(){
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/extendapi/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
@@ -56,13 +56,17 @@ $(function(){
|
||||
<tr>
|
||||
<th style="width:15%;"><@locale code="apps.credential"/>:</th>
|
||||
<td style="width:35%;">
|
||||
<input type="radio" id="credential1" name="credential" class="credential" value="3" <#if 3==model.credential >checked</#if> />
|
||||
<@locale code="apps.credential.user-defined"/>
|
||||
<input type="radio" id="credential3" name="credential" class="credential" value="2" <#if 2==model.credential >checked</#if> />
|
||||
<@locale code="apps.credential.shared"/>
|
||||
<input type="radio" id="credential2" name="credential" class="credential" value="1" <#if 1==model.credential >checked</#if> />
|
||||
<@locale code="apps.credential.system"/>
|
||||
|
||||
<select id="credential" name="credential" class="form-control" >
|
||||
<option value="3" <#if 3==model.credential >selected</#if> >
|
||||
<@locale code="apps.credential.user-defined"/>
|
||||
</option>
|
||||
<option value="2" <#if 2==model.credential >selected</#if> >
|
||||
<@locale code="apps.credential.shared"/>
|
||||
</option>
|
||||
<option value="1" <#if 1==model.credential >selected</#if> >
|
||||
<@locale code="apps.credential.system"/>
|
||||
</option>
|
||||
</select>
|
||||
</td>
|
||||
<th style="width:15%;"></th>
|
||||
<td style="width:35%;" >
|
||||
@@ -94,7 +98,6 @@ $(function(){
|
||||
<th><@locale code="apps.credential.sharedPassword"/>:</th>
|
||||
<td>
|
||||
<input type="text" class="form-control" id="sharedPassword" name="sharedPassword" value="${model.sharedPassword}" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ $(function(){
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/formbased/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<!--
|
||||
$(function(){
|
||||
|
||||
$("input[name='credential']").on("click",function(){
|
||||
$("select[name='credential']").on("click",function(){
|
||||
if($(this).val()=="3"){
|
||||
$("#sharedconfigure").hide();
|
||||
$("#systemconfigure").hide();
|
||||
@@ -25,7 +25,7 @@ $(function(){
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/formbased/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
@@ -67,12 +67,17 @@ $(function(){
|
||||
<tr>
|
||||
<th><@locale code="apps.credential"/>:</th>
|
||||
<td >
|
||||
<input type="radio" id="credential1" name="credential" class="credential" value="3" <#if 3==model.credential>checked</#if> />
|
||||
<@locale code="apps.credential.user-defined"/>
|
||||
<input type="radio" id="credential3" name="credential" class="credential" value="2" <#if 2==model.credential>checked</#if> />
|
||||
<@locale code="apps.credential.shared"/>
|
||||
<input type="radio" id="credential2" name="credential" class="credential" value="1" <#if 1==model.credential>checked</#if> />
|
||||
<@locale code="apps.credential.system"/>
|
||||
<select id="credential" name="credential" class="form-control" >
|
||||
<option value="3" <#if 3==model.credential >selected</#if> >
|
||||
<@locale code="apps.credential.user-defined"/>
|
||||
</option>
|
||||
<option value="2" <#if 2==model.credential >selected</#if> >
|
||||
<@locale code="apps.credential.shared"/>
|
||||
</option>
|
||||
<option value="1" <#if 1==model.credential >selected</#if> >
|
||||
<@locale code="apps.credential.system"/>
|
||||
</option>
|
||||
</select>
|
||||
|
||||
</td>
|
||||
<th></th>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<#include "../appCommonHead.ftl"/>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/oauth20/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<#include "../appCommonHead.ftl"/>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/oauth20/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<#include "../appCommonHead.ftl"/>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/saml20/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/saml20/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<#include "../appCommonHead.ftl"/>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/tokenbased/add"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
@@ -66,28 +66,13 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><@locale code="apps.tokenbased.token.content" />:</th>
|
||||
<td colspan=3>
|
||||
<table class="hidetable" style="width:100%;">
|
||||
<tr>
|
||||
<td><@locale code="userinfo.id" /><input type="checkbox" id="uid" name="uid" value="1"/></td>
|
||||
<td><@locale code="userinfo.username" /><input type="checkbox" id="username" name="username" value="1" checked/></td>
|
||||
<td><@locale code="userinfo.email" /><input type="checkbox" id="email" name="email" value="1"/></td>
|
||||
<td><@locale code="userinfo.windowsAccount" /><input type="checkbox" id="windowsAccount" name="windowsAccount" value="1"/></td>
|
||||
<td><@locale code="userinfo.employeeNumber" /><input type="checkbox" id="employeeNumber" name="employeeNumber" value="1"/></td>
|
||||
<td><@locale code="userinfo.departmentId" /><input type="checkbox" id="departmentId" name="departmentId" value="1"/></td>
|
||||
<td><@locale code="userinfo.department" /><input type="checkbox" id="department" name="department" value="1"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
<td>
|
||||
<#include "../userPropertys.ftl"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><@locale code="apps.tokenbased.expires" />:</th>
|
||||
<td>
|
||||
<input type="text" class="form-control" id="expires" name="expires" title="" value="1" required="" />
|
||||
</td>
|
||||
<th></th>
|
||||
<td >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan =4>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<#include "../appCommonHead.ftl"/>
|
||||
</head>
|
||||
<body>
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true"
|
||||
<form id="actionForm_app" method="post" type="label" autoclose="true" closeWindow="true"
|
||||
action="<@base/>/apps/tokenbased/update"
|
||||
forward="<@base/>/apps/list"
|
||||
enctype="multipart/form-data"
|
||||
@@ -68,28 +68,13 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><@locale code="apps.tokenbased.token.content" />:</th>
|
||||
<td colspan=3>
|
||||
<table class="hidetable" style="width:100%;">
|
||||
<tr>
|
||||
<td><@locale code="userinfo.id" /><input type="checkbox" id="uid" name="uid" value="1" <#if 1==model.uid>checked</#if> /></td>
|
||||
<td><@locale code="userinfo.username" /><input type="checkbox" id="username" name="username" value="1" <#if 1==model.username>checked</#if>/></td>
|
||||
<td><@locale code="userinfo.email" /><input type="checkbox" id="email" name="email" value="1" <#if 1==model.email>checked</#if>/></td>
|
||||
<td><@locale code="userinfo.windowsAccount" /><input type="checkbox" id="windowsAccount" name="windowsAccount" value="1" <#if 1==model.windowsAccount>checked</#if>/></td>
|
||||
<td><@locale code="userinfo.employeeNumber" /><input type="checkbox" id="employeeNumber" name="employeeNumber" value="1" <#if 1==model.employeeNumber>checked</#if>/></td>
|
||||
<td><@locale code="userinfo.departmentId" /><input type="checkbox" id="departmentId" name="departmentId" value="1" <#if 1==model.departmentId>checked</#if>/></td>
|
||||
<td><@locale code="userinfo.department" /><input type="checkbox" id="department" name="department" value="1" <#if 1==model.department>checked</#if>/></td>
|
||||
</tr>
|
||||
</table>
|
||||
<td >
|
||||
<#include "../userPropertys.ftl"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><@locale code="apps.tokenbased.expires" />:</th>
|
||||
<td>
|
||||
<input type="text" class="form-control" id="expires" name="expires" title="" value="${model.expires}" required="" />
|
||||
</td>
|
||||
<th></th>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
<select id="userPropertys" name="userPropertys" class="form-control multipleselect" multiple="multiple" >
|
||||
<option value="uid" <#if model.userPropertys?contains("uid")>selected</#if> >
|
||||
<@locale code="userinfo.id" />
|
||||
</option>
|
||||
<option value="username" <#if model.userPropertys?contains("username")>selected</#if> >
|
||||
<@locale code="userinfo.username" />
|
||||
</option>
|
||||
<option value="displayName" <#if model.userPropertys?contains("displayName")>selected</#if> >
|
||||
<@locale code="userinfo.displayName" />
|
||||
</option>
|
||||
<option value="picture" <#if model.userPropertys?contains("picture")>selected</#if> >
|
||||
<@locale code="userinfo.picture" />
|
||||
</option>
|
||||
<option value="familyName" <#if model.userPropertys?contains("familyName")>selected</#if> >
|
||||
<@locale code="userinfo.familyName" />
|
||||
</option>
|
||||
<option value="givenName" <#if model.userPropertys?contains("givenName")>selected</#if> >
|
||||
<@locale code="userinfo.givenName" />
|
||||
</option>
|
||||
<option value="middleName" <#if model.userPropertys?contains("middleName")>selected</#if> >
|
||||
<@locale code="userinfo.middleName" />
|
||||
</option>
|
||||
<option value="nickName" <#if model.userPropertys?contains("nickName")>selected</#if> >
|
||||
<@locale code="userinfo.nickName" />
|
||||
</option>
|
||||
<option value="gender" <#if model.userPropertys?contains("gender")>selected</#if> >
|
||||
<@locale code="userinfo.gender" />
|
||||
</option>
|
||||
<option value="married" <#if model.userPropertys?contains("married")>selected</#if> >
|
||||
<@locale code="userinfo.married" />
|
||||
</option>
|
||||
<option value="website" <#if model.userPropertys?contains("website")>selected</#if> >
|
||||
<@locale code="userinfo.website" />
|
||||
</option>
|
||||
<option value="birthDate" <#if model.userPropertys?contains("birthDate")>selected</#if> >
|
||||
<@locale code="userinfo.birthDate" />
|
||||
</option>
|
||||
<option value="idtype" <#if model.userPropertys?contains("idtype")>selected</#if> >
|
||||
<@locale code="userinfo.idtype" />
|
||||
</option>
|
||||
<option value="idCardNo" <#if model.userPropertys?contains("idCardNo")>selected</#if> >
|
||||
<@locale code="userinfo.idCardNo" />
|
||||
</option>
|
||||
<option value="startWorkDate" <#if model.userPropertys?contains("startWorkDate")>selected</#if> >
|
||||
<@locale code="userinfo.startWorkDate" />
|
||||
</option>
|
||||
<option value="preferredLanguage" <#if model.userPropertys?contains("preferredLanguage")>selected</#if> >
|
||||
<@locale code="userinfo.preferredLanguage" />
|
||||
</option>
|
||||
<option value="timeZone" <#if model.userPropertys?contains("timeZone")>selected</#if> >
|
||||
<@locale code="userinfo.timeZone" />
|
||||
</option>
|
||||
<option value="locale" <#if model.userPropertys?contains("locale")>selected</#if> >
|
||||
<@locale code="userinfo.locale" />
|
||||
</option>
|
||||
<option value="mobile" <#if model.userPropertys?contains("mobile")>selected</#if> >
|
||||
<@locale code="userinfo.mobile" />
|
||||
</option>
|
||||
<option value="email" <#if model.userPropertys?contains("email")>selected</#if> >
|
||||
<@locale code="userinfo.email" />
|
||||
</option>
|
||||
|
||||
<option value="userType" <#if model.userPropertys?contains("userType")>selected</#if> >
|
||||
<@locale code="userinfo.userType" />
|
||||
</option>
|
||||
<option value="employeeNumber" <#if model.userPropertys?contains("employeeNumber")>selected</#if> >
|
||||
<@locale code="userinfo.employeeNumber" />
|
||||
</option>
|
||||
<option value="division" <#if model.userPropertys?contains("division")>selected</#if> >
|
||||
<@locale code="userinfo.division" />
|
||||
</option>
|
||||
<option value="organization" <#if model.userPropertys?contains("organization")>selected</#if> >
|
||||
<@locale code="userinfo.organization" />
|
||||
</option>
|
||||
<option value="costCenter" <#if model.userPropertys?contains("costCenter")>selected</#if> >
|
||||
<@locale code="userinfo.costCenter" />
|
||||
</option>
|
||||
<option value="jobTitle" <#if model.userPropertys?contains("jobTitle")>selected</#if> >
|
||||
<@locale code="userinfo.jobTitle" />
|
||||
</option>
|
||||
<option value="manager" <#if model.userPropertys?contains("manager")>selected</#if> >
|
||||
<@locale code="userinfo.manager" />
|
||||
</option>
|
||||
<option value="assistant" <#if model.userPropertys?contains("assistant")>selected</#if> >
|
||||
<@locale code="userinfo.assistant" />
|
||||
</option>
|
||||
<option value="entryDate" <#if model.userPropertys?contains("entryDate")>selected</#if> >
|
||||
<@locale code="userinfo.entryDate" />
|
||||
</option>
|
||||
<option value="departmentId" <#if model.userPropertys?contains("departmentId")>selected</#if> >
|
||||
<@locale code="userinfo.departmentId" />
|
||||
</option>
|
||||
<option value="department" <#if model.userPropertys?contains("department")>selected</#if> >
|
||||
<@locale code="userinfo.department" />
|
||||
</option>
|
||||
<option value="windowsAccount" <#if model.userPropertys?contains("windowsAccount")>selected</#if> >
|
||||
<@locale code="userinfo.windowsAccount" />
|
||||
</option>
|
||||
|
||||
|
||||
</select>
|
||||
@@ -41,6 +41,11 @@
|
||||
<link href="<@base />/static/jquery/metisMenu-v3.0.6/metisMenu.min.css" rel="stylesheet" >
|
||||
<script src ="<@base />/static/jquery/metisMenu-v3.0.6/metisMenu.min.js" type="text/javascript" ></script>
|
||||
<script src ="<@base />/static/js/Chart.min.js" type="text/javascript" ></script>
|
||||
<#-- multiple-select-1.5.2 -->
|
||||
<script type="text/javascript" src="<@base />/static/jquery/multiple-select-1.5.2/multiple-select.min.js"></script>
|
||||
<script type="text/javascript" src="<@base />/static/jquery/multiple-select-1.5.2/locale/multiple-select-<@locale/>.js"></script>
|
||||
<link rel="stylesheet" href="<@base />/static/jquery/multiple-select-1.5.2/multiple-select.css" type="text/css"/>
|
||||
|
||||
<#-- common script start -->
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
@@ -60,6 +65,8 @@
|
||||
$(".datetimepicker").datetimepicker({format:'Y-m-d H:i',lang:'<@locale/>'.substring(0, 2)});
|
||||
$(".datepicker").datetimepicker({timepicker:false,format:'Y-m-d',lang:'<@locale/>'.substring(0, 2)});
|
||||
|
||||
$(".multipleselect").multipleSelect({});
|
||||
|
||||
$.platform = $.platform || {};
|
||||
$.platform.messages = $.platform.messages || {};
|
||||
$.extend($.platform.messages, {
|
||||
|
||||
Reference in New Issue
Block a user