predicates;
51 | /**
52 | * JPA 查询对象
53 | */
54 | @Getter
55 | @Setter
56 | private CriteriaQuery> query;
57 |
58 | /**
59 | *
60 | *
61 | *
62 | * @param predicate
63 | * @author jojo 2014-8-12 下午3:12:36
64 | */
65 | public void addPredicate(Predicate predicate) {
66 | this.predicates.add(predicate);
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/permission/src/main/java/com/security/permission/service/AdminService.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | package com.security.permission.service;
5 |
6 | import com.security.permission.dto.AdminCondition;
7 | import com.security.permission.dto.AdminInfo;
8 | import org.springframework.data.domain.Page;
9 | import org.springframework.data.domain.Pageable;
10 |
11 | /**
12 | * @Description 管理员服务
13 | * @Author sca
14 | * @Date 2019-08-19 13:38
15 | **/
16 | public interface AdminService {
17 |
18 | /**
19 | * 创建管理员
20 | * @param adminInfo
21 | * @return
22 | */
23 | AdminInfo create(AdminInfo adminInfo);
24 | /**
25 | * 修改管理员
26 | * @param adminInfo
27 | * @return
28 | */
29 | AdminInfo update(AdminInfo adminInfo);
30 | /**
31 | * 删除管理员
32 | * @param id
33 | */
34 | void delete(Long id);
35 | /**
36 | * 获取管理员详细信息
37 | * @param id
38 | * @return
39 | */
40 | AdminInfo getInfo(Long id);
41 | /**
42 | * 分页查询管理员
43 | * @param condition
44 | * @return
45 | */
46 | Page query(AdminCondition condition, Pageable pageable);
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/permission/src/main/java/com/security/permission/service/RbacService.java:
--------------------------------------------------------------------------------
1 | package com.security.permission.service;
2 |
3 | import org.springframework.security.core.Authentication;
4 |
5 | import javax.servlet.http.HttpServletRequest;
6 |
7 | /**
8 | * @Description
9 | * @Author sca
10 | * @Date 2019-08-19 13:39
11 | **/
12 | public interface RbacService {
13 |
14 | boolean hasPermission(HttpServletRequest request, Authentication authentication);
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/permission/src/main/java/com/security/permission/service/ResourceService.java:
--------------------------------------------------------------------------------
1 | package com.security.permission.service;
2 |
3 | import com.security.permission.dto.ResourceInfo;
4 |
5 | /**
6 | * @Description 资源服务
7 | * @Author sca
8 | * @Date 2019-08-19 13:39
9 | **/
10 | public interface ResourceService {
11 |
12 | /**
13 | * 获取资源树
14 | *
15 | * @param userId 用户ID
16 | */
17 | ResourceInfo getTree(Long userId);
18 |
19 | /**
20 | * 根据资源ID获取资源信息
21 | *
22 | * @param id 资源ID
23 | * @return ResourceInfo 资源信息
24 | */
25 | ResourceInfo getInfo(Long id);
26 |
27 | /**
28 | * 新增资源
29 | *
30 | * @param info 页面传入的资源信息
31 | * @return ResourceInfo 资源信息
32 | */
33 | ResourceInfo create(ResourceInfo info);
34 | /**
35 | * 更新资源
36 | *
37 | * @param info 页面传入的资源信息
38 | * @return ResourceInfo 资源信息
39 | */
40 | ResourceInfo update(ResourceInfo info);
41 | /**
42 | * 根据指定ID删除资源信息
43 | *
44 | * @param id 资源ID
45 | */
46 | void delete(Long id);
47 | /**
48 | * 上移/下移资源
49 | * @param id
50 | * @param up
51 | */
52 | Long move(Long id, boolean up);
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/permission/src/main/java/com/security/permission/service/RoleService.java:
--------------------------------------------------------------------------------
1 | package com.security.permission.service;
2 |
3 |
4 | import com.security.permission.dto.RoleInfo;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | * @Description 角色服务
10 | * @Author sca
11 | * @Date 2019-08-19 13:40
12 | **/
13 | public interface RoleService {
14 |
15 | /**
16 | * 创建角色
17 | * @param roleInfo
18 | * @return
19 | */
20 | RoleInfo create(RoleInfo roleInfo);
21 | /**
22 | * 修改角色
23 | * @param roleInfo
24 | * @return
25 | */
26 | RoleInfo update(RoleInfo roleInfo);
27 | /**
28 | * 删除角色
29 | * @param id
30 | */
31 | void delete(Long id);
32 | /**
33 | * 获取角色详细信息
34 | * @param id
35 | * @return
36 | */
37 | RoleInfo getInfo(Long id);
38 | /**
39 | * 查询所有角色
40 | * @return
41 | */
42 | List findAll();
43 | /**
44 | * @param id
45 | * @return
46 | */
47 | String[] getRoleResources(Long id);
48 | /**
49 | * @param id
50 | * @param ids
51 | */
52 | void setRoleResources(Long id, String ids);
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/permission/src/main/java/com/security/permission/service/impl/RbacServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.security.permission.service.impl;
2 |
3 | import com.security.permission.domain.Admin;
4 | import com.security.permission.service.RbacService;
5 | import org.apache.commons.lang.StringUtils;
6 | import org.springframework.security.core.Authentication;
7 | import org.springframework.stereotype.Component;
8 | import org.springframework.util.AntPathMatcher;
9 | import javax.servlet.http.HttpServletRequest;
10 | import java.util.Set;
11 |
12 | /**
13 | * @Description
14 | * @Author sca
15 | * @Date 2019-08-19 13:53
16 | **/
17 | @Component("rbacService")
18 | public class RbacServiceImpl implements RbacService {
19 |
20 | private AntPathMatcher antPathMatcher = new AntPathMatcher();
21 |
22 | @Override
23 | public boolean hasPermission(HttpServletRequest request, Authentication authentication) {
24 | Object principal = authentication.getPrincipal();
25 |
26 | boolean hasPermission = false;
27 |
28 | if (principal instanceof Admin) {
29 | //如果用户名是admin,就永远返回true
30 | if (StringUtils.equals(((Admin) principal).getUsername(), "admin")) {
31 | hasPermission = true;
32 | } else {
33 | // 读取用户所拥有权限的所有URL
34 | Set urls = ((Admin) principal).getUrls();
35 | for (String url : urls) {
36 | if (antPathMatcher.match(url, request.getRequestURI())) {
37 | hasPermission = true;
38 | break;
39 | }
40 | }
41 | }
42 | }
43 |
44 | return hasPermission;
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/permission/src/main/java/com/security/permission/web/controller/support/SimpleResponse.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | package com.security.permission.web.controller.support;
5 |
6 | import lombok.Getter;
7 | import lombok.Setter;
8 |
9 | /**
10 | * @Description
11 | * @Author sca
12 | * @Date 2019-08-19 13:40
13 | **/
14 | public class SimpleResponse {
15 |
16 | public SimpleResponse(Object content){
17 | this.content = content;
18 | }
19 |
20 | @Getter
21 | @Setter
22 | private Object content;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/ionicons.eot
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/fonts/ionicons.woff
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/app.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * @ngdoc overview
5 | * @name testApp
6 | * @description
7 | * # testApp
8 | *
9 | * Main module of the application.
10 | */
11 | //应用主模块
12 | angular.module('adminApp', ['admin']);
13 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/angular-cookies.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | AngularJS v1.5.5
3 | (c) 2010-2016 Google, Inc. http://angularjs.org
4 | License: MIT
5 | */
6 | (function(n,c){'use strict';function l(b,a,g){var d=g.baseHref(),k=b[0];return function(b,e,f){var g,h;f=f||{};h=f.expires;g=c.isDefined(f.path)?f.path:d;c.isUndefined(e)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",e="");c.isString(h)&&(h=new Date(h));e=encodeURIComponent(b)+"="+encodeURIComponent(e);e=e+(g?";path="+g:"")+(f.domain?";domain="+f.domain:"");e+=h?";expires="+h.toUTCString():"";e+=f.secure?";secure":"";f=e.length+1;4096 4096 bytes)!");k.cookie=e}}c.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,g){return{get:function(d){return a()[d]},getObject:function(d){return(d=this.get(d))?c.fromJson(d):d},getAll:function(){return a()},put:function(d,a,m){g(d,a,m?c.extend({},b,m):b)},putObject:function(d,b,a){this.put(d,c.toJson(b),a)},remove:function(a,k){g(a,void 0,k?c.extend({},b,k):b)}}}]}]);c.module("ngCookies").factory("$cookieStore",
8 | ["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,c){b.putObject(a,c)},remove:function(a){b.remove(a)}}}]);l.$inject=["$document","$log","$browser"];c.module("ngCookies").provider("$$cookieWriter",function(){this.$get=l})})(window,window.angular);
9 | //# sourceMappingURL=angular-cookies.min.js.map
10 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/canvas-to-blob.min.js:
--------------------------------------------------------------------------------
1 | !function(t){"use strict";var e=t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype,o=t.Blob&&function(){try{return Boolean(new Blob)}catch(t){return!1}}(),n=o&&t.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(t){return!1}}(),r=t.BlobBuilder||t.WebKitBlobBuilder||t.MozBlobBuilder||t.MSBlobBuilder,a=/^data:((.*?)(;charset=.*?)?)(;base64)?,/,i=(o||r)&&t.atob&&t.ArrayBuffer&&t.Uint8Array&&function(t){var e,i,l,u,b,c,d,B,f;if(e=t.match(a),!e)throw new Error("invalid data URI");for(i=e[2]?e[1]:"text/plain"+(e[3]||";charset=US-ASCII"),l=!!e[4],u=t.slice(e[0].length),b=l?atob(u):decodeURIComponent(u),c=new ArrayBuffer(b.length),d=new Uint8Array(c),B=0;Bt&&(t=0),3==e.nodeType){var n=e.data.length;t>n&&(t=n)}return t}function i(e,t){1!=e.nodeType||e.hasChildNodes()?s.setStart(e,r(e,t)):s.setStartBefore(e)}function o(e,t){1!=e.nodeType||e.hasChildNodes()?s.setEnd(e,r(e,t)):s.setEndAfter(e)}var s,l,c,u,d,f,p,m,h,g;if("A"!=e.selection.getNode().tagName){if(s=e.selection.getRng(!0).cloneRange(),s.startOffset<5){if(m=s.endContainer.previousSibling,!m){if(!s.endContainer.firstChild||!s.endContainer.firstChild.nextSibling)return;m=s.endContainer.firstChild.nextSibling}if(h=m.length,i(m,h),o(m,h),s.endOffset<5)return;l=s.endOffset,u=m}else{if(u=s.endContainer,3!=u.nodeType&&u.firstChild){for(;3!=u.nodeType&&u.firstChild;)u=u.firstChild;3==u.nodeType&&(i(u,0),o(u,u.nodeValue.length))}l=1==s.endOffset?2:s.endOffset-1-t}c=l;do i(u,l>=2?l-2:0),o(u,l>=1?l-1:0),l-=1,g=s.toString();while(" "!=g&&""!==g&&160!=g.charCodeAt(0)&&l-2>=0&&g!=n);s.toString()==n||160==s.toString().charCodeAt(0)?(i(u,l),o(u,c),l+=1):0===s.startOffset?(i(u,0),o(u,c)):(i(u,l),o(u,c)),f=s.toString(),"."==f.charAt(f.length-1)&&o(u,c-1),f=s.toString(),p=f.match(a),p&&("www."==p[1]?p[1]="http://www.":/@$/.test(p[1])&&!/^mailto:/.test(p[1])&&(p[1]="mailto:"+p[1]),d=e.selection.getBookmark(),e.selection.setRng(s),e.execCommand("createlink",!1,p[1]+p[2]),e.selection.moveToBookmark(d),e.nodeChanged())}}var o,a=/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i;return e.settings.autolink_pattern&&(a=e.settings.autolink_pattern),e.on("keydown",function(t){return 13==t.keyCode?r(e):void 0}),tinymce.Env.ie?void e.on("focus",function(){if(!o){o=!0;try{e.execCommand("AutoUrlDetect",!1,!0)}catch(t){}}}):(e.on("keypress",function(n){return 41==n.keyCode?t(e):void 0}),void e.on("keyup",function(t){return 32==t.keyCode?n(e):void 0}))});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/autoresize/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("autoresize",function(e){function t(){return e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen()}function n(r){var a,s,l,c,u,d,f,p,m,h,g,v,b=tinymce.DOM;if(s=e.getDoc()){if(l=s.body,c=s.documentElement,u=i.autoresize_min_height,!l||r&&"setcontent"===r.type&&r.initial||t())return void(l&&c&&(l.style.overflowY="auto",c.style.overflowY="auto"));f=e.dom.getStyle(l,"margin-top",!0),p=e.dom.getStyle(l,"margin-bottom",!0),m=e.dom.getStyle(l,"padding-top",!0),h=e.dom.getStyle(l,"padding-bottom",!0),g=e.dom.getStyle(l,"border-top-width",!0),v=e.dom.getStyle(l,"border-bottom-width",!0),d=l.offsetHeight+parseInt(f,10)+parseInt(p,10)+parseInt(m,10)+parseInt(h,10)+parseInt(g,10)+parseInt(v,10),(isNaN(d)||0>=d)&&(d=tinymce.Env.ie?l.scrollHeight:tinymce.Env.webkit&&0===l.clientHeight?0:l.offsetHeight),d>i.autoresize_min_height&&(u=d),i.autoresize_max_height&&d>i.autoresize_max_height?(u=i.autoresize_max_height,l.style.overflowY="auto",c.style.overflowY="auto"):(l.style.overflowY="hidden",c.style.overflowY="hidden",l.scrollTop=0),u!==o&&(a=u-o,b.setStyle(e.iframeElement,"height",u+"px"),o=u,tinymce.isWebKit&&0>a&&n(r))}}function r(t,i,o){tinymce.util.Delay.setEditorTimeout(e,function(){n({}),t--?r(t,i,o):o&&o()},i)}var i=e.settings,o=0;e.settings.inline||(i.autoresize_min_height=parseInt(e.getParam("autoresize_min_height",e.getElement().offsetHeight),10),i.autoresize_max_height=parseInt(e.getParam("autoresize_max_height",0),10),e.on("init",function(){var t,n;t=e.getParam("autoresize_overflow_padding",1),n=e.getParam("autoresize_bottom_margin",50),t!==!1&&e.dom.setStyles(e.getBody(),{paddingLeft:t,paddingRight:t}),n!==!1&&e.dom.setStyles(e.getBody(),{paddingBottom:n})}),e.on("nodechange setcontent keyup FullscreenStateChanged",n),e.getParam("autoresize_on_init",!0)&&e.on("init",function(){r(20,100,function(){r(5,1e3)})}),e.addCommand("mceAutoResize",n))});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/code/plugin.js:
--------------------------------------------------------------------------------
1 | /**
2 | * plugin.js
3 | *
4 | * Released under LGPL License.
5 | * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
6 | *
7 | * License: http://www.tinymce.com/license
8 | * Contributing: http://www.tinymce.com/contributing
9 | */
10 |
11 | /*global tinymce:true */
12 |
13 | tinymce.PluginManager.add('code', function(editor) {
14 | function showDialog() {
15 | var win = editor.windowManager.open({
16 | title: "Source code",
17 | body: {
18 | type: 'textbox',
19 | name: 'code',
20 | multiline: true,
21 | minWidth: editor.getParam("code_dialog_width", 600),
22 | minHeight: editor.getParam("code_dialog_height", Math.min(tinymce.DOM.getViewPort().h - 200, 500)),
23 | spellcheck: false,
24 | style: 'direction: ltr; text-align: left'
25 | },
26 | onSubmit: function(e) {
27 | // We get a lovely "Wrong document" error in IE 11 if we
28 | // don't move the focus to the editor before creating an undo
29 | // transation since it tries to make a bookmark for the current selection
30 | editor.focus();
31 |
32 | editor.undoManager.transact(function() {
33 | editor.setContent(e.data.code);
34 | });
35 |
36 | editor.selection.setCursorLocation();
37 | editor.nodeChanged();
38 | }
39 | });
40 |
41 | // Gecko has a major performance issue with textarea
42 | // contents so we need to set it when all reflows are done
43 | win.find('#code').value(editor.getContent({source_view: true}));
44 | }
45 |
46 | editor.addCommand("mceCodeEditor", showDialog);
47 |
48 | editor.addButton('code', {
49 | icon: 'code',
50 | tooltip: 'Source code',
51 | onclick: showDialog
52 | });
53 |
54 | editor.addMenuItem('code', {
55 | icon: 'code',
56 | text: 'Source code',
57 | context: 'tools',
58 | onclick: showDialog
59 | });
60 | });
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/code/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("code",function(e){function t(){var t=e.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:e.getParam("code_dialog_width",600),minHeight:e.getParam("code_dialog_height",Math.min(tinymce.DOM.getViewPort().h-200,500)),spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(t){e.focus(),e.undoManager.transact(function(){e.setContent(t.data.code)}),e.selection.setCursorLocation(),e.nodeChanged()}});t.find("#code").value(e.getContent({source_view:!0}))}e.addCommand("mceCodeEditor",t),e.addButton("code",{icon:"code",tooltip:"Source code",onclick:t}),e.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:t})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/colorpicker/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("colorpicker",function(e){function t(t,n){function r(e){var t=new tinymce.util.Color(e),n=t.toRgb();o.fromJSON({r:n.r,g:n.g,b:n.b,hex:t.toHex().substr(1)}),i(t.toHex())}function i(e){o.find("#preview")[0].getEl().style.background=e}var o=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:n,onchange:function(){var e=this.rgb();o&&(o.find("#r").value(e.r),o.find("#g").value(e.g),o.find("#b").value(e.b),o.find("#hex").value(this.value().substr(1)),i(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,t,n=o.find("colorpicker")[0];return e=this.name(),t=this.value(),"hex"==e?(t="#"+t,r(t),void n.value(t)):(t={r:o.find("#r").value(),g:o.find("#g").value(),b:o.find("#b").value()},n.value(t),void r(t))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){t("#"+this.toJSON().hex)}});r(n)}e.settings.color_picker_callback||(e.settings.color_picker_callback=t)});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/contextmenu/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("contextmenu",function(e){var t,n=e.settings.contextmenu_never_use_native;e.on("contextmenu",function(r){var i,o=e.getDoc();if(!r.ctrlKey||n){if(r.preventDefault(),tinymce.Env.mac&&tinymce.Env.webkit&&2==r.button&&o.caretRangeFromPoint&&e.selection.setRng(o.caretRangeFromPoint(r.x,r.y)),i=e.settings.contextmenu||"link image inserttable | cell row column deletetable",t)t.show();else{var a=[];tinymce.each(i.split(/[ ,]/),function(t){var n=e.menuItems[t];"|"==t&&(n={text:t}),n&&(n.shortcut="",a.push(n))});for(var s=0;s';
28 |
29 | tinymce.each(row, function(icon) {
30 | var emoticonUrl = url + '/img/smiley-' + icon + '.gif';
31 |
32 | emoticonsHtml += ' | ';
35 | });
36 |
37 | emoticonsHtml += '';
38 | });
39 |
40 | emoticonsHtml += '';
41 |
42 | return emoticonsHtml;
43 | }
44 |
45 | editor.addButton('emoticons', {
46 | type: 'panelbutton',
47 | panel: {
48 | role: 'application',
49 | autohide: true,
50 | html: getHtml,
51 | onclick: function(e) {
52 | var linkElm = editor.dom.getParent(e.target, 'a');
53 |
54 | if (linkElm) {
55 | editor.insertContent(
56 | '
'
57 | );
58 |
59 | this.hide();
60 | }
61 | }
62 | },
63 | tooltip: 'Emoticons'
64 | });
65 | });
66 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/emoticons/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("emoticons",function(e,t){function n(){var e;return e='',tinymce.each(r,function(n){e+="",tinymce.each(n,function(n){var r=t+"/img/smiley-"+n+".gif";e+=' | '}),e+="
"}),e+="
"}var r=[["cool","cry","embarassed","foot-in-mouth"],["frown","innocent","kiss","laughing"],["money-mouth","sealed","smile","surprised"],["tongue-out","undecided","wink","yell"]];e.addButton("emoticons",{type:"panelbutton",panel:{role:"application",autohide:!0,html:n,onclick:function(t){var n=e.dom.getParent(t.target,"a");n&&(e.insertContent('
'),this.hide())}},tooltip:"Emoticons"})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/fullscreen/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("fullscreen",function(e){function t(){var e,t,n=window,r=document,i=r.body;return i.offsetWidth&&(e=i.offsetWidth,t=i.offsetHeight),n.innerWidth&&n.innerHeight&&(e=n.innerWidth,t=n.innerHeight),{w:e,h:t}}function n(){var e=tinymce.DOM.getViewPort();return{x:e.x,y:e.y}}function r(e){scrollTo(e.x,e.y)}function i(){function i(){f.setStyle(h,"height",t().h-(m.clientHeight-h.clientHeight))}var p,m,h,g,v=document.body,b=document.documentElement;d=!d,m=e.getContainer(),p=m.style,h=e.getContentAreaContainer().firstChild,g=h.style,d?(u=n(),o=g.width,a=g.height,g.width=g.height="100%",l=p.width,c=p.height,p.width=p.height="",f.addClass(v,"mce-fullscreen"),f.addClass(b,"mce-fullscreen"),f.addClass(m,"mce-fullscreen"),f.bind(window,"resize",i),i(),s=i):(g.width=o,g.height=a,l&&(p.width=l),c&&(p.height=c),f.removeClass(v,"mce-fullscreen"),f.removeClass(b,"mce-fullscreen"),f.removeClass(m,"mce-fullscreen"),f.unbind(window,"resize",s),r(u)),e.fire("FullscreenStateChanged",{state:d})}var o,a,s,l,c,u,d=!1,f=tinymce.DOM;return e.settings.inline?void 0:(e.on("init",function(){e.addShortcut("Ctrl+Shift+F","",i)}),e.on("remove",function(){s&&f.unbind(window,"resize",s)}),e.addCommand("mceFullScreen",i),e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Alt+F",selectable:!0,onClick:function(){i(),e.focus()},onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})},context:"view"}),e.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Meta+Alt+F",onClick:i,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})}}),{isFullscreen:function(){return d}})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/hr/plugin.js:
--------------------------------------------------------------------------------
1 | /**
2 | * plugin.js
3 | *
4 | * Released under LGPL License.
5 | * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
6 | *
7 | * License: http://www.tinymce.com/license
8 | * Contributing: http://www.tinymce.com/contributing
9 | */
10 |
11 | /*global tinymce:true */
12 |
13 | tinymce.PluginManager.add('hr', function(editor) {
14 | editor.addCommand('InsertHorizontalRule', function() {
15 | editor.execCommand('mceInsertContent', false, '
');
16 | });
17 |
18 | editor.addButton('hr', {
19 | icon: 'hr',
20 | tooltip: 'Horizontal line',
21 | cmd: 'InsertHorizontalRule'
22 | });
23 |
24 | editor.addMenuItem('hr', {
25 | icon: 'hr',
26 | text: 'Horizontal line',
27 | cmd: 'InsertHorizontalRule',
28 | context: 'insert'
29 | });
30 | });
31 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/hr/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("hr",function(e){e.addCommand("InsertHorizontalRule",function(){e.execCommand("mceInsertContent",!1,"
")}),e.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),e.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/media/moxieplayer.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/plugins/media/moxieplayer.swf
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/nonbreaking/plugin.js:
--------------------------------------------------------------------------------
1 | /**
2 | * plugin.js
3 | *
4 | * Released under LGPL License.
5 | * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
6 | *
7 | * License: http://www.tinymce.com/license
8 | * Contributing: http://www.tinymce.com/contributing
9 | */
10 |
11 | /*global tinymce:true */
12 |
13 | tinymce.PluginManager.add('nonbreaking', function(editor) {
14 | var setting = editor.getParam('nonbreaking_force_tab');
15 |
16 | editor.addCommand('mceNonBreaking', function() {
17 | editor.insertContent(
18 | (editor.plugins.visualchars && editor.plugins.visualchars.state) ?
19 | ' ' : ' '
20 | );
21 |
22 | editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1');
23 | });
24 |
25 | editor.addButton('nonbreaking', {
26 | title: 'Nonbreaking space',
27 | cmd: 'mceNonBreaking'
28 | });
29 |
30 | editor.addMenuItem('nonbreaking', {
31 | text: 'Nonbreaking space',
32 | cmd: 'mceNonBreaking',
33 | context: 'insert'
34 | });
35 |
36 | if (setting) {
37 | var spaces = +setting > 1 ? +setting : 3; // defaults to 3 spaces if setting is true (or 1)
38 |
39 | editor.on('keydown', function(e) {
40 | if (e.keyCode == 9) {
41 |
42 | if (e.shiftKey) {
43 | return;
44 | }
45 |
46 | e.preventDefault();
47 | for (var i = 0; i < spaces; i++) {
48 | editor.execCommand('mceNonBreaking');
49 | }
50 | }
51 | });
52 | }
53 | });
54 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/nonbreaking/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("nonbreaking",function(e){var t=e.getParam("nonbreaking_force_tab");if(e.addCommand("mceNonBreaking",function(){e.insertContent(e.plugins.visualchars&&e.plugins.visualchars.state?' ':" "),e.dom.setAttrib(e.dom.select("span.mce-nbsp"),"data-mce-bogus","1")}),e.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),e.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"}),t){var n=+t>1?+t:3;e.on("keydown",function(t){if(9==t.keyCode){if(t.shiftKey)return;t.preventDefault();for(var r=0;n>r;r++)e.execCommand("mceNonBreaking")}})}});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/noneditable/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("noneditable",function(e){function t(e){return function(t){return-1!==(" "+t.attr("class")+" ").indexOf(e)}}function n(t){function n(t){var n=arguments,r=n[n.length-2];return r>0&&'"'==a.charAt(r-1)?t:''+e.dom.encode("string"==typeof n[1]?n[1]:n[0])+""}var r=o.length,a=t.content,s=tinymce.trim(i);if("raw"!=t.format){for(;r--;)a=a.replace(o[r],n);t.content=a}}var r,i,o,a="contenteditable";r=" "+tinymce.trim(e.getParam("noneditable_editable_class","mceEditable"))+" ",i=" "+tinymce.trim(e.getParam("noneditable_noneditable_class","mceNonEditable"))+" ";var s=t(r),l=t(i);o=e.getParam("noneditable_regexp"),o&&!o.length&&(o=[o]),e.on("PreInit",function(){o&&e.on("BeforeSetContent",n),e.parser.addAttributeFilter("class",function(e){for(var t,n=e.length;n--;)t=e[n],s(t)?t.attr(a,"true"):l(t)&&t.attr(a,"false")}),e.serializer.addAttributeFilter(a,function(e){for(var t,n=e.length;n--;)t=e[n],(s(t)||l(t))&&(o&&t.attr("data-mce-content")?(t.name="#text",t.type=3,t.raw=!0,t.value=t.attr("data-mce-content")):t.attr(a,null))})})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/pagebreak/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("pagebreak",function(e){var t="mce-pagebreak",n=e.getParam("pagebreak_separator",""),r=new RegExp(n.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(e){return"\\"+e}),"gi"),i='
';e.addCommand("mcePageBreak",function(){e.settings.pagebreak_split_block?e.insertContent(""+i+"
"):e.insertContent(i)}),e.addButton("pagebreak",{title:"Page break",cmd:"mcePageBreak"}),e.addMenuItem("pagebreak",{text:"Page break",icon:"pagebreak",cmd:"mcePageBreak",context:"insert"}),e.on("ResolveName",function(n){"IMG"==n.target.nodeName&&e.dom.hasClass(n.target,t)&&(n.name="pagebreak")}),e.on("click",function(n){n=n.target,"IMG"===n.nodeName&&e.dom.hasClass(n,t)&&e.selection.select(n)}),e.on("BeforeSetContent",function(e){e.content=e.content.replace(r,i)}),e.on("PreInit",function(){e.serializer.addNodeFilter("img",function(t){for(var r,i,o=t.length;o--;)if(r=t[o],i=r.attr("class"),i&&-1!==i.indexOf("mce-pagebreak")){var a=r.parent;if(e.schema.getBlockElements()[a.name]&&e.settings.pagebreak_split_block){a.type=3,a.value=n,a.raw=!0,r.remove();continue}r.type=3,r.value=n,r.raw=!0}})})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/preview/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("preview",function(e){var t=e.settings,n=!tinymce.Env.ie;e.addCommand("mcePreview",function(){e.windowManager.open({title:"Preview",width:parseInt(e.getParam("plugin_preview_width","650"),10),height:parseInt(e.getParam("plugin_preview_height","500"),10),html:'",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var r,i="";i+='',tinymce.each(e.contentCSS,function(t){i+=''});var o=t.body_id||"tinymce";-1!=o.indexOf("=")&&(o=e.getParam("body_id","","hash"),o=o[e.id]||o);var a=t.body_class||"";-1!=a.indexOf("=")&&(a=e.getParam("body_class","","hash"),a=a[e.id]||"");var s=' ',l=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";if(r=""+i+'"+e.getContent()+s+"",n)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(r);else{var c=this.getEl("body").firstChild.contentWindow.document;c.open(),c.write(r),c.close()}}})}),e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/print/plugin.js:
--------------------------------------------------------------------------------
1 | /**
2 | * plugin.js
3 | *
4 | * Released under LGPL License.
5 | * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
6 | *
7 | * License: http://www.tinymce.com/license
8 | * Contributing: http://www.tinymce.com/contributing
9 | */
10 |
11 | /*global tinymce:true */
12 |
13 | tinymce.PluginManager.add('print', function(editor) {
14 | editor.addCommand('mcePrint', function() {
15 | editor.getWin().print();
16 | });
17 |
18 | editor.addButton('print', {
19 | title: 'Print',
20 | cmd: 'mcePrint'
21 | });
22 |
23 | editor.addShortcut('Meta+P', '', 'mcePrint');
24 |
25 | editor.addMenuItem('print', {
26 | text: 'Print',
27 | cmd: 'mcePrint',
28 | icon: 'print',
29 | shortcut: 'Meta+P',
30 | context: 'file'
31 | });
32 | });
33 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/print/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("print",function(e){e.addCommand("mcePrint",function(){e.getWin().print()}),e.addButton("print",{title:"Print",cmd:"mcePrint"}),e.addShortcut("Meta+P","","mcePrint"),e.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Meta+P",context:"file"})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/save/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("save",function(e){function t(){var t;return t=tinymce.DOM.getParent(e.id,"form"),!e.getParam("save_enablewhendirty",!0)||e.isDirty()?(tinymce.triggerSave(),e.getParam("save_onsavecallback")?(e.execCallback("save_onsavecallback",e),void e.nodeChanged()):void(t?(e.setDirty(!1),t.onsubmit&&!t.onsubmit()||("function"==typeof t.submit?t.submit():n(e.translate("Error: Form submit field collision."))),e.nodeChanged()):n(e.translate("Error: No form element found.")))):void 0}function n(t){e.notificationManager.open({text:t,type:"error"})}function r(){var t=tinymce.trim(e.startContent);return e.getParam("save_oncancelcallback")?void e.execCallback("save_oncancelcallback",e):(e.setContent(t),e.undoManager.clear(),void e.nodeChanged())}function i(){var t=this;e.on("nodeChange dirty",function(){t.disabled(e.getParam("save_enablewhendirty",!0)&&!e.isDirty())})}e.addCommand("mceSave",t),e.addCommand("mceCancel",r),e.addButton("save",{icon:"save",text:"Save",cmd:"mceSave",disabled:!0,onPostRender:i}),e.addButton("cancel",{text:"Cancel",icon:!1,cmd:"mceCancel",disabled:!0,onPostRender:i}),e.addShortcut("Meta+S","","mceSave")});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/tabfocus/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("tabfocus",function(e){function t(e){9!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()}function n(t){function n(n){function o(e){return"BODY"===e.nodeName||"hidden"!=e.type&&"none"!=e.style.display&&"hidden"!=e.style.visibility&&o(e.parentNode)}function l(e){return/INPUT|TEXTAREA|BUTTON/.test(e.tagName)&&tinymce.get(t.id)&&-1!=e.tabIndex&&o(e)}if(s=r.select(":input:enabled,*[tabindex]:not(iframe)"),i(s,function(t,n){return t.id==e.id?(a=n,!1):void 0}),n>0){for(c=a+1;c=0;c--)if(l(s[c]))return s[c];return null}var a,s,l,c;if(!(9!==t.keyCode||t.ctrlKey||t.altKey||t.metaKey||t.isDefaultPrevented())&&(l=o(e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))),1==l.length&&(l[1]=l[0],l[0]=":prev"),s=t.shiftKey?":prev"==l[0]?n(-1):r.get(l[0]):":next"==l[1]?n(1):r.get(l[1]))){var u=tinymce.get(s.id||s.name);s.id&&u?u.focus():tinymce.util.Delay.setTimeout(function(){tinymce.Env.webkit||window.focus(),s.focus()},10),t.preventDefault()}}var r=tinymce.DOM,i=tinymce.each,o=tinymce.explode;e.on("init",function(){e.inline&&tinymce.DOM.setAttrib(e.getBody(),"tabIndex",null),e.on("keyup",t),tinymce.Env.gecko?e.on("keypress keydown",n):e.on("keydown",n)})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/visualblocks/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("visualblocks",function(e,t){function n(){var t=this;t.active(o),e.on("VisualBlocks",function(){t.active(e.dom.hasClass(e.getBody(),"mce-visualblocks"))})}var r,i,o;window.NodeList&&(e.addCommand("mceVisualBlocks",function(){var n,a=e.dom;r||(r=a.uniqueId(),n=a.create("link",{id:r,rel:"stylesheet",href:t+"/css/visualblocks.css"}),e.getDoc().getElementsByTagName("head")[0].appendChild(n)),e.on("PreviewFormats AfterPreviewFormats",function(t){o&&a.toggleClass(e.getBody(),"mce-visualblocks","afterpreviewformats"==t.type)}),a.toggleClass(e.getBody(),"mce-visualblocks"),o=e.dom.hasClass(e.getBody(),"mce-visualblocks"),i&&i.active(a.hasClass(e.getBody(),"mce-visualblocks")),e.fire("VisualBlocks")}),e.addButton("visualblocks",{title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("init",function(){e.settings.visualblocks_default_state&&e.execCommand("mceVisualBlocks",!1,null,{skip_focus:!0})}),e.on("remove",function(){e.dom.removeClass(e.getBody(),"mce-visualblocks")}))});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/visualchars/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("visualchars",function(e){function t(t){function n(e){return''+e+""}function o(){var e,t="";for(e in p)t+=e;return new RegExp("["+t+"]","g")}function a(){var e,t="";for(e in p)t&&(t+=","),t+="span.mce-"+p[e];return t}var s,l,c,u,d,f,p,m,h=e.getBody(),g=e.selection;if(p={"\xa0":"nbsp","\xad":"shy"},r=!r,i.state=r,e.fire("VisualChars",{state:r}),m=o(),t&&(f=g.getBookmark()),r)for(l=[],tinymce.walk(h,function(e){3==e.nodeType&&e.nodeValue&&m.test(e.nodeValue)&&l.push(e)},"childNodes"),c=0;c=0;c--)e.dom.remove(l[c],1);g.moveToBookmark(f)}function n(){var t=this;e.on("VisualChars",function(e){t.active(e.state)})}var r,i=this;e.addCommand("mceVisualChars",t),e.addButton("visualchars",{title:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n}),e.addMenuItem("visualchars",{text:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("beforegetcontent",function(e){r&&"raw"!=e.format&&!e.draft&&(r=!0,t(!1))})});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/plugins/wordcount/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("wordcount",function(e){function t(){e.theme.panel.find("#wordcount").text(["Words: {0}",i.getCount()])}var n,r,i=this;n=e.getParam("wordcount_countregex",/[\w\u2019\x27\-\u00C0-\u1FFF]+/g),r=e.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\x27\x22_+=\\\/\-]*/g),e.on("init",function(){var n=e.theme.panel&&e.theme.panel.find("#statusbar")[0];n&&tinymce.util.Delay.setEditorTimeout(e,function(){n.insert({type:"label",name:"wordcount",text:["Words: {0}",i.getCount()],classes:"wordcount",disabled:e.settings.readonly},0),e.on("setcontent beforeaddundo",t),e.on("keyup",function(e){32==e.keyCode&&t()})},0)}),i.getCount=function(){var t=e.getContent({format:"raw"}),i=0;if(t){t=t.replace(/\.\.\./g," "),t=t.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," "),t=t.replace(/(\w+)(?[a-z0-9]+;)+(\w+)/i,"$1$3").replace(/&.+?;/g," "),t=t.replace(r,"");var o=t.match(n);o&&(i=o.length)}return i}});
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/simplify_dashboard.js:
--------------------------------------------------------------------------------
1 | $(function () {
2 |
3 | //Flot Chart (Total Sales)
4 | var d1 = [];
5 | for (var i = 0; i <= 10; i += 1) {
6 | //d1.push([i, parseInt(Math.random() * 30)]);
7 | d1 = [[0,700],[1,1200],[2,1100],[3,900],[4,500],[5,700],[6,500],[7,600],[8,1200],[9,1700],[10,1200]];
8 | }
9 |
10 | function plotWithOptions() {
11 | $.plot("#placeholder", [d1], {
12 | series: {
13 | lines: {
14 | show: true,
15 | fill: true,
16 | fillColor: '#eee',
17 | steps: false,
18 |
19 | },
20 | points: {
21 | show: true,
22 | fill: false
23 | }
24 | },
25 |
26 | grid: {
27 | color: '#fff',
28 | hoverable: true,
29 | autoHighlight: true,
30 | },
31 | colors: [ '#bbb'],
32 | });
33 | }
34 |
35 | $("").css({
36 | position: "absolute",
37 | display: "none",
38 | border: "1px solid #222",
39 | padding: "4px",
40 | color: "#fff",
41 | "border-radius": "4px",
42 | "background-color": "rgb(0,0,0)",
43 | opacity: 0.90
44 | }).appendTo("body");
45 |
46 | $("#placeholder").bind("plothover", function (event, pos, item) {
47 |
48 | var str = "(" + pos.x.toFixed(2) + ", " + pos.y.toFixed(2) + ")";
49 | $("#hoverdata").text(str);
50 |
51 | if (item) {
52 | var x = item.datapoint[0],
53 | y = item.datapoint[1];
54 |
55 | $("#tooltip").html("Total Sales : " + y)
56 | .css({top: item.pageY+5, left: item.pageX+5})
57 | .fadeIn(200);
58 | } else {
59 | $("#tooltip").hide();
60 | }
61 | });
62 |
63 | });
64 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce-small.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce-small.eot
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce-small.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce-small.ttf
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce-small.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce-small.woff
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce.eot
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce.ttf
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/fonts/tinymce.woff
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/anchor.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/anchor.gif
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/loader.gif
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/object.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/object.gif
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/trans.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momokanni/security-wrapper/f23a1682ed789765d9e30b6325ba30c6a3e1edda/permission/src/main/resources/resources/scripts/framework/skins/lightgray/img/trans.gif
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/scripts/framework/uploader.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * angular-ui-uploader
3 | * https://github.com/angular-ui/ui-uploader
4 | * Version: 1.1.3 - 2015-12-01T00:54:49.732Z
5 | * License: MIT
6 | */
7 | !function(){"use strict";function o(o){function e(o){for(var e=0;e hr {
41 | margin: 30px 0;
42 | }
43 |
44 | /* Main marketing message and sign up button */
45 | .jumbotron {
46 | text-align: center;
47 | border-bottom: 1px solid #e5e5e5;
48 | }
49 | .jumbotron .btn {
50 | font-size: 21px;
51 | padding: 14px 24px;
52 | }
53 |
54 | /* Supporting marketing content */
55 | .marketing {
56 | margin: 40px 0;
57 | }
58 | .marketing p + h4 {
59 | margin-top: 28px;
60 | }
61 |
62 | /* Responsive: Portrait tablets and up */
63 | @media screen and (min-width: 768px) {
64 | .container {
65 | max-width: 730px;
66 | }
67 |
68 | /* Remove the padding we set earlier */
69 | .header,
70 | .marketing,
71 | .footer {
72 | padding-left: 0;
73 | padding-right: 0;
74 | }
75 | /* Space out the masthead */
76 | .header {
77 | margin-bottom: 30px;
78 | }
79 | /* Remove the bottom border on the jumbotron for visual effect */
80 | .jumbotron {
81 | border-bottom: 0;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/views/commons/confirm.html:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 | {{message}}
12 |
13 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/views/commons/partials/content.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/views/commons/partials/offsidebar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
{{currentSubmenu.name}}
5 |
17 |
18 |
19 |
20 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/permission/src/main/resources/resources/views/platform/roleForm.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------