cpee 1.4.26 → 1.4.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/js_libs.zip +0 -0
  3. data/cockpit/js_libs/Makefile +2 -0
  4. data/cockpit/js_libs/ansi_up.js +333 -0
  5. data/cockpit/js_libs/console.js +80 -0
  6. data/cockpit/js_libs/custommenu.css +84 -0
  7. data/cockpit/js_libs/custommenu.js +101 -0
  8. data/cockpit/js_libs/jquery-2.2.4.min.js +4 -0
  9. data/cockpit/js_libs/jquery-3.2.1.min.js +4 -0
  10. data/cockpit/js_libs/jquery-3.3.1.min.js +2 -0
  11. data/cockpit/js_libs/jquery.browser.js +40 -0
  12. data/cockpit/js_libs/jquery.caret.min.js +10 -0
  13. data/cockpit/js_libs/jquery.cookie.js +117 -0
  14. data/cockpit/js_libs/jquery.min.js +1 -0
  15. data/cockpit/js_libs/jquery.svg.min.js +6 -0
  16. data/cockpit/js_libs/jquery.svgdom.min.js +6 -0
  17. data/cockpit/js_libs/markdown.min.js +1 -0
  18. data/cockpit/js_libs/parsequery.js +21 -0
  19. data/cockpit/js_libs/printf.js +368 -0
  20. data/cockpit/js_libs/relaxngui.css +153 -0
  21. data/cockpit/js_libs/relaxngui.js +402 -0
  22. data/cockpit/js_libs/strftime.min.js +1 -0
  23. data/cockpit/js_libs/tests/dataelements.html +58 -0
  24. data/cockpit/js_libs/tests/dataelements.rng +8 -0
  25. data/cockpit/js_libs/tests/dataelements.xml +3 -0
  26. data/cockpit/js_libs/tests/rngtest1.html +59 -0
  27. data/cockpit/js_libs/tests/rngtest1.rng +41 -0
  28. data/cockpit/js_libs/tests/rngtest1.xml +11 -0
  29. data/cockpit/js_libs/tests/rngtest2.html +59 -0
  30. data/cockpit/js_libs/tests/rngtest2.rng +6 -0
  31. data/cockpit/js_libs/tests/rngtest2.xml +3 -0
  32. data/cockpit/js_libs/tests/rngtest3.html +59 -0
  33. data/cockpit/js_libs/tests/rngtest3.rng +23 -0
  34. data/cockpit/js_libs/tests/rngtest3.xml +9 -0
  35. data/cockpit/js_libs/tests/rngtest4.html +59 -0
  36. data/cockpit/js_libs/tests/rngtest4.rng +19 -0
  37. data/cockpit/js_libs/tests/rngtest4.xml +12 -0
  38. data/cockpit/js_libs/tests/rngtest5.html +59 -0
  39. data/cockpit/js_libs/tests/rngtest5.rng +75 -0
  40. data/cockpit/js_libs/tests/rngtest5.xml +40 -0
  41. data/cockpit/js_libs/tests/rngtest6.html +59 -0
  42. data/cockpit/js_libs/tests/rngtest6.rng +24 -0
  43. data/cockpit/js_libs/tests/rngtest6.xml +6 -0
  44. data/cockpit/js_libs/tests/rngtest8.html +59 -0
  45. data/cockpit/js_libs/tests/rngtest8.rng +13 -0
  46. data/cockpit/js_libs/tests/rngtest8.xml +2 -0
  47. data/cockpit/js_libs/ui.css +301 -0
  48. data/cockpit/js_libs/ui.html +168 -0
  49. data/cockpit/js_libs/ui.js +172 -0
  50. data/cockpit/js_libs/underscore.min.js +27 -0
  51. data/cockpit/js_libs/util.js +84 -0
  52. data/cockpit/js_libs/vkbeautify.0.99.00.beta.js +358 -0
  53. data/cockpit/js_libs/vkbeautify.js +1 -0
  54. data/cockpit/js_libs/webcomponents.min.js +196 -0
  55. data/cpee.gemspec +2 -1
  56. data/server/instances/104/notifications/888d50456e0c2d39d0542a21999c9e0b/consumer-secret +1 -0
  57. data/server/instances/104/notifications/888d50456e0c2d39d0542a21999c9e0b/producer-secret +1 -0
  58. data/server/instances/104/notifications/888d50456e0c2d39d0542a21999c9e0b/subscription.xml +38 -0
  59. data/server/instances/104/notifications/logging/consumer-secret +1 -0
  60. data/server/instances/104/notifications/logging/producer-secret +1 -0
  61. data/server/instances/104/notifications/logging/subscription.xml +19 -0
  62. data/server/instances/104/properties.xml +31 -0
  63. data/tools/cpee +36 -7
  64. metadata +77 -5
  65. data/server/server.pid +0 -1
@@ -0,0 +1,168 @@
1
+ <!--
2
+ This file is part of CPEE.
3
+
4
+ CPEE is free software: you can redistribute it and/or modify it under the terms
5
+ of the GNU General Public License as published by the Free Software Foundation,
6
+ either version 3 of the License, or (at your option) any later version.
7
+
8
+ CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
+
12
+ You should have received a copy of the GNU General Public License along with
13
+ CPEE (file COPYING in the main directory). If not, see
14
+ <http://www.gnu.org/licenses/>.
15
+ -->
16
+
17
+ <!DOCTYPE html>
18
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
19
+ <head>
20
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
21
+ <title>UI Test</title>
22
+
23
+ <!-- libs, do not modify. When local than load local libs. -->
24
+ <script type="text/javascript">
25
+ if ((document.location.host == 'localhost') && (document.location.protocol == 'http:')) {
26
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/jquery.min.js">\x3C/script>');
27
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/jquery.browser.js">\x3C/script>');
28
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/jquery.svg.min.js">\x3C/script>');
29
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/jquery.svgdom.min.js">\x3C/script>');
30
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/vkbeautify.js">\x3C/script>');
31
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/util.js">\x3C/script>');
32
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/printf.js">\x3C/script>');
33
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/strftime.min.js">\x3C/script>');
34
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/parsequery.js">\x3C/script>');
35
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/underscore.min.js">\x3C/script>');
36
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/jquery.caret.min.js">\x3C/script>');
37
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/jquery.cookie.js">\x3C/script>');
38
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/relaxngui.js">\x3C/script>');
39
+
40
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/ui.js">\x3C/script>');
41
+ document.write('<script type="text/javascript" src="http://localhost/js_libs/custommenu.js">\x3C/script>');
42
+
43
+ document.write('<link rel="stylesheet" href="http://localhost/js_libs/custommenu.css" type="text/css"/>');
44
+ document.write('<link rel="stylesheet" href="http://localhost/js_libs/ui.css" type="text/css"/>');
45
+
46
+ document.write('<link rel="stylesheet" href="http://localhost/js_libs/relaxngui.css" type="text/css"/>');
47
+ } else if ((document.location.host == 'localhost') && (document.location.protocol == 'https:')) {
48
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/jquery.min.js">\x3C/script>');
49
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/jquery.browser.js">\x3C/script>');
50
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/jquery.svg.min.js">\x3C/script>');
51
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/jquery.svgdom.min.js">\x3C/script>');
52
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/vkbeautify.js">\x3C/script>');
53
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/util.js">\x3C/script>');
54
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/printf.js">\x3C/script>');
55
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/strftime.min.js">\x3C/script>');
56
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/parsequery.js">\x3C/script>');
57
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/underscore.min.js">\x3C/script>');
58
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/jquery.caret.min.js">\x3C/script>');
59
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/jquery.cookie.js">\x3C/script>');
60
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/relaxngui.js">\x3C/script>');
61
+
62
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/ui.js">\x3C/script>');
63
+ document.write('<script type="text/javascript" src="https://localhost/js_libs/custommenu.js">\x3C/script>');
64
+
65
+ document.write('<link rel="stylesheet" href="https://localhost/js_libs/custommenu.css" type="text/css"/>');
66
+ document.write('<link rel="stylesheet" href="https://localhost/js_libs/ui.css" type="text/css"/>');
67
+
68
+ document.write('<link rel="stylesheet" href="https://localhost/js_libs/relaxngui.css" type="text/css"/>');
69
+ } else {
70
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.min.js">\x3C/script>');
71
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.browser.js">\x3C/script>');
72
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.svg.min.js">\x3C/script>');
73
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.svgdom.min.js">\x3C/script>');
74
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/vkbeautify.js">\x3C/script>');
75
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/util.js">\x3C/script>');
76
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/printf.js">\x3C/script>');
77
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/strftime.min.js">\x3C/script>');
78
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/parsequery.js">\x3C/script>');
79
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/underscore.min.js">\x3C/script>');
80
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.caret.min.js">\x3C/script>');
81
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.cookie.js">\x3C/script>');
82
+
83
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/relaxngui.js">\x3C/script>');
84
+
85
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/ui.js">\x3C/script>');
86
+ document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/custommenu.js">\x3C/script>');
87
+
88
+ document.write('<link rel="stylesheet" href="http://gruppe.wst.univie.ac.at/js_libs/custommenu.css" type="text/css"/>');
89
+ document.write('<link rel="stylesheet" href="http://gruppe.wst.univie.ac.at/js_libs/ui.css" type="text/css"/>');
90
+
91
+ document.write('<link rel="stylesheet" href="http://gruppe.wst.univie.ac.at/js_libs/relaxngui.css" type="text/css"/>');
92
+ }
93
+ </script>
94
+ </head>
95
+ <body data-defaultport="9298" data-theme-base="themes" is="x-ui">
96
+ <ui-rest id="main">
97
+ <!--ui-tabbar>
98
+ <ui-before ></ui-before>
99
+ <ui-tab class="" data-tab="details" id="tabdetails">Graph</ui-tab>
100
+ <ui-behind ></ui-behind>
101
+ </ui-tabbar-->
102
+ <ui-content>
103
+ <ui-area data-belongs-to-tab="details" id='graphcolumn'>
104
+ </ui-area>
105
+ <ui-resizehandle data-belongs-to-tab="details" data-label="drag to resize"></ui-resizehandle>
106
+ <ui-area data-belongs-to-tab="details" id="detailcolumn">
107
+
108
+ <ui-tabbed id="instance">
109
+ <ui-tabbar>
110
+ <ui-tab class="switch" ></ui-tab>
111
+ <ui-tab class="" data-tab="new" id="tabnew" >New</ui-tab>
112
+ <ui-tab class="inactive" data-tab="instance" id="tabinstance" >Instance</ui-tab>
113
+ <ui-tab class="inactive" data-tab="execution" id="tabexecution">Execution</ui-tab>
114
+ <ui-behind ><a id='current-instance'></a><a id='current-instance-properties'></a><a id='current-instance-subscriptions'></a><a id='current-instance-callbacks'></a></ui-behind>
115
+ </ui-tabbar>
116
+ <ui-content>
117
+ <ui-area data-belongs-to-tab="new" id="areanew"> <!--{{{-->
118
+ </ui-area> <!--}}}-->
119
+ <ui-area data-belongs-to-tab="instance" id="areainstance" class="inactive"> <!--{{{-->
120
+ </ui-area> <!--}}}-->
121
+ <ui-area data-belongs-to-tab="execution" id="areaexecution" class='inactive'> <!--{{{-->
122
+ </ui-area> <!--}}}-->
123
+ </ui-content>
124
+ </ui-tabbed>
125
+ <!--ui-resizehandle>drag to resize</ui-resizehandle-->
126
+
127
+ <ui-tabbed id='parameters'>
128
+ <ui-tabbar>
129
+ <ui-tab class="switch" ></ui-tab>
130
+ <ui-tab class="" data-tab="dataelements" id="tabdataelements">Data Elements</ui-tab>
131
+ <ui-tab class="inactive" data-tab="endpoints" id="tabendpoints" >Endpoints</ui-tab>
132
+ <ui-tab class="inactive" data-tab="attributes" id="tabattributes" >Attributes</ui-tab>
133
+ <ui-behind ><button title='add entry'>New</button></ui-behind>
134
+ </ui-tabbar>
135
+ <ui-content>
136
+ <ui-area data-belongs-to-tab="dataelements" id="areadataelements"> <!--{{{-->
137
+ <div id="dat_dataelements"></div>
138
+ </ui-area> <!--}}}-->
139
+ <ui-area data-belongs-to-tab="endpoints" id="areaendpoints" class="inactive"> <!--{{{-->
140
+ <table id="dat_endpoints"></table>
141
+ </ui-area> <!--}}}-->
142
+ <ui-area data-belongs-to-tab="attributes" id="areaattributes" class="inactive"> <!--{{{-->
143
+ <table id="dat_attributes"></table>
144
+ </ui-area> <!--}}}-->
145
+ </ui-content>
146
+ </ui-tabbed>
147
+
148
+ <ui-rest id="sub">
149
+ <ui-tabbar>
150
+ <ui-before ></ui-before>
151
+ <ui-tab class="" data-tab="dsl" id="tabdsl" >Description</ui-tab>
152
+ <ui-tab class="inactive" data-tab="log" id="tablog" >Log</ui-tab>
153
+ <ui-behind ></ui-behind>
154
+ </ui-tabbar>
155
+ <ui-content>
156
+ <ui-area data-belongs-to-tab="dsl" id="areadsl" class="inactive">
157
+ </ui-area>
158
+ <ui-area data-belongs-to-tab="log" id="arealog" class="inactive">
159
+ </ui-area> <!--}}}-->
160
+ </ui-content>
161
+ </ui-rest>
162
+
163
+ </ui-area>
164
+ </ui-content>
165
+ </ui-rest>
166
+
167
+ </body>
168
+ </html>
@@ -0,0 +1,172 @@
1
+ /*
2
+ This file is part of CPEE.
3
+
4
+ CPEE is free software: you can redistribute it and/or modify it under the terms
5
+ of the GNU General Public License as published by the Free Software Foundation,
6
+ either version 3 of the License, or (at your option) any later version.
7
+
8
+ CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
+
12
+ You should have received a copy of the GNU General Public License along with
13
+ CPEE (file COPYING in the main directory). If not, see
14
+ <http://www.gnu.org/licenses/>.
15
+ */
16
+
17
+ function ui_click_tab(moi) { // {{{
18
+ $(moi).trigger('click');
19
+ } // }}}
20
+
21
+ function ui_close_tab(moi){
22
+ var active = $(moi).parent().attr('data-tab');
23
+ var tabbed = $(moi).parent().parent().parent();
24
+ var is_inactive = $(moi).parent().hasClass('inactive');
25
+ $('*[data-tab=' + active + ']').remove();
26
+ $('*[data-belongs-to-tab=' + active + ']').remove();
27
+ if (!is_inactive)
28
+ ui_click_tab($('ui-tabbar ui-tab.default'));
29
+ }
30
+
31
+ function ui_add_close(moi) {
32
+ $(moi).append($('<ui-close>✖</ui-close>'));
33
+ }
34
+
35
+ function ui_empty_tab_contents(id) {
36
+ $('ui-content ui-area[data-belongs-to-tab=' + id + ']').empty();
37
+ }
38
+
39
+ function ui_add_tab(tabbed,title,id,closeable,additionalclasses) {
40
+ additionalclasses = typeof additionalclasses !== 'undefined' ? additionalclasses : '';
41
+ if ($('ui-tabbar ui-tab[data-tab=' + id + ']').length > 0) {
42
+ ui_activate_tab($('ui-tabbar ui-tab[data-tab=' + id + ']'));
43
+ return false;
44
+ } else {
45
+ var instab = $("<ui-tab class='inactive" + (closeable ? ' closeable' : '') + (additionalclasses == '' ? '' : ' ' + additionalclasses) + "' data-tab='" + id + "'>" + title + "</ui-tab>");
46
+ var insarea = $("<ui-area data-belongs-to-tab='" + id + "' class='inactive'></ui-area>");
47
+ $(tabbed).find('ui-behind').before(instab);
48
+ $(tabbed).find('ui-content').append(insarea);
49
+ ui_add_close($('ui-tabbar ui-tab[data-tab=' + id + ']'));
50
+ return true;
51
+ }
52
+ }
53
+
54
+ function ui_clone_tab(tabbar,original,title,id,closeable,additionalclasses) {
55
+ additionalclasses = typeof additionalclasses !== 'undefined' ? additionalclasses : '';
56
+ var instab = $("<ui-tab class='inactive" + (closeable ? ' closeable' : '') + (additionalclasses == '' ? '' : ' ' + additionalclasses) + "' data-tab='" + id + "' id='tab_" + id + "'>" + title + "</ui-tab>");
57
+ var insarea = original.clone();
58
+ insarea.attr("data-belongs-to-tab",id);
59
+ insarea.attr("class","inactive");
60
+ $(tabbar).find('ui-behind').before(instab);
61
+ $(tabbar).parent().append(insarea);
62
+ ui_add_close($('ui-tabbed ui-tab[data-tab=' + id + ']'));
63
+ }
64
+
65
+ (function($) { //{{{
66
+ $.fn.dragcolumn = function() {
67
+ var drag = $(this);
68
+ var prev = drag.prev();
69
+ var next = drag.next();
70
+
71
+ this.on("mousedown", function(e) {
72
+ drag.addClass('draggable');
73
+ $(document).one("mouseup", function(e) {
74
+ drag.removeClass('draggable');
75
+ e.preventDefault();
76
+ });
77
+ e.preventDefault();
78
+ });
79
+
80
+ $(document).on("mousemove", function(e) {
81
+ if (!drag.hasClass('draggable'))
82
+ return;
83
+
84
+ // Assume 50/50 split between prev and next then adjust to
85
+ // the next X for prev
86
+ var total = prev.outerWidth() + next.outerWidth();
87
+ var pos = e.pageX - prev.offset().left;
88
+ if (pos > total) {
89
+ pos = total;
90
+ }
91
+
92
+ var leftPercentage = pos / total;
93
+ var rightPercentage = 1 - leftPercentage;
94
+
95
+ prev.css('flex', leftPercentage.toString());
96
+ next.css('flex', rightPercentage.toString());
97
+
98
+ e.preventDefault();
99
+ });
100
+ }
101
+ $.fn.dragresize = function() {
102
+ var drag = $(this);
103
+ var prev = drag.prev();
104
+ var initpos = 0;
105
+ var initheight = $("ui-content",prev).height();
106
+
107
+ this.on("mousedown", function(e) {
108
+ drag.addClass('draggable');
109
+ initpos = e.pageY;
110
+ $(document).one("mouseup", function(e) {
111
+ drag.removeClass('draggable');
112
+ e.preventDefault();
113
+ });
114
+ e.preventDefault();
115
+ });
116
+
117
+ $(document).on("mousemove", function(e) {
118
+ if (!drag.hasClass('draggable'))
119
+ return;
120
+
121
+ var pos = initheight - (initpos - e.pageY);
122
+ if (pos < 0)
123
+ return;
124
+
125
+ $("ui-content",prev).css('height', pos.toString());
126
+
127
+ e.preventDefault();
128
+ });
129
+ }
130
+ })(jQuery); //}}}
131
+
132
+ function ui_activate_tab(moi) { // {{{
133
+ var active = $(moi).attr('data-tab');
134
+ var tabbed = $(moi).parent().parent();
135
+ var tabs = [];
136
+ $("ui-tabbar > ui-tab",tabbed).each(function(){
137
+ if (!$(this).attr('class').match(/switch/)) {
138
+ tabs.push($(this).attr('data-tab'));
139
+ }
140
+ });
141
+ $(".inactive",tabbed).removeClass("inactive");
142
+ $.each(tabs,function(a,b){
143
+ if (b != active) {
144
+ $("ui-tabbar ui-tab[data-tab=" + b + "]",tabbed).addClass("inactive");
145
+ $("ui-content *[data-belongs-to-tab=" + b + "]",tabbed).addClass("inactive");
146
+ }
147
+ });
148
+ } // }}}
149
+ function ui_toggle_vis_tab(moi) {// {{{
150
+ if ($(moi)[0].nodeName == 'UI-TABBED') {
151
+ var tabbed = $(moi);
152
+ }
153
+ if ($(moi)[0].nodeName == 'UI-TAB') {
154
+ var tabbed = $(moi).parent().parent();
155
+ }
156
+ if (tabbed) {
157
+ tabbed.toggleClass('off');
158
+ }
159
+ }// }}}
160
+
161
+ $(document).ready(function() {
162
+ if (!($.browser.name == "Firefox" && $.browser.version >= 20) && !($.browser.name == "Chrome" && $.browser.version >= 30)) {
163
+ $('body').children().remove();
164
+ $('body').append('Sorry, only Firefox >= 20.0 and Chrom(e|ium) >= 17 for now.');
165
+ }
166
+ $('ui-rest ui-content ui-resizehandle').dragcolumn();
167
+ $('*[is=x-ui] > ui-resizehandle').dragresize();
168
+ $(document).on('click','ui-tabbar ui-tab.switch',function(){ui_toggle_vis_tab(this);});
169
+ $(document).on('click','ui-tabbar ui-tab:not(.switch)',function(){ui_activate_tab(this);});
170
+ ui_add_close($('ui-tabbar ui-tab.closeable'));
171
+ $(document).on('click','ui-tabbar ui-tab.closeable ui-close',function(){ui_close_tab(this);});
172
+ });
@@ -0,0 +1,27 @@
1
+ // Underscore.js 1.1.7
2
+ // (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.
3
+ // Underscore is freely distributable under the MIT license.
4
+ // Portions of Underscore are inspired or borrowed from Prototype,
5
+ // Oliver Steele's Functional, and John Resig's Micro-Templating.
6
+ // For all details and documentation:
7
+ // http://documentcloud.github.com/underscore
8
+ (function(){var p=this,C=p._,m={},i=Array.prototype,n=Object.prototype,f=i.slice,D=i.unshift,E=n.toString,l=n.hasOwnProperty,s=i.forEach,t=i.map,u=i.reduce,v=i.reduceRight,w=i.filter,x=i.every,y=i.some,o=i.indexOf,z=i.lastIndexOf;n=Array.isArray;var F=Object.keys,q=Function.prototype.bind,b=function(a){return new j(a)};typeof module!=="undefined"&&module.exports?(module.exports=b,b._=b):p._=b;b.VERSION="1.1.7";var h=b.each=b.forEach=function(a,c,b){if(a!=null)if(s&&a.forEach===s)a.forEach(c,b);else if(a.length===
9
+ +a.length)for(var e=0,k=a.length;e<k;e++){if(e in a&&c.call(b,a[e],e,a)===m)break}else for(e in a)if(l.call(a,e)&&c.call(b,a[e],e,a)===m)break};b.map=function(a,c,b){var e=[];if(a==null)return e;if(t&&a.map===t)return a.map(c,b);h(a,function(a,g,G){e[e.length]=c.call(b,a,g,G)});return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var k=d!==void 0;a==null&&(a=[]);if(u&&a.reduce===u)return e&&(c=b.bind(c,e)),k?a.reduce(c,d):a.reduce(c);h(a,function(a,b,f){k?d=c.call(e,d,a,b,f):(d=a,k=!0)});if(!k)throw new TypeError("Reduce of empty array with no initial value");
10
+ return d};b.reduceRight=b.foldr=function(a,c,d,e){a==null&&(a=[]);if(v&&a.reduceRight===v)return e&&(c=b.bind(c,e)),d!==void 0?a.reduceRight(c,d):a.reduceRight(c);a=(b.isArray(a)?a.slice():b.toArray(a)).reverse();return b.reduce(a,c,d,e)};b.find=b.detect=function(a,c,b){var e;A(a,function(a,g,f){if(c.call(b,a,g,f))return e=a,!0});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(w&&a.filter===w)return a.filter(c,b);h(a,function(a,g,f){c.call(b,a,g,f)&&(e[e.length]=a)});return e};
11
+ b.reject=function(a,c,b){var e=[];if(a==null)return e;h(a,function(a,g,f){c.call(b,a,g,f)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=!0;if(a==null)return e;if(x&&a.every===x)return a.every(c,b);h(a,function(a,g,f){if(!(e=e&&c.call(b,a,g,f)))return m});return e};var A=b.some=b.any=function(a,c,d){c=c||b.identity;var e=!1;if(a==null)return e;if(y&&a.some===y)return a.some(c,d);h(a,function(a,b,f){if(e|=c.call(d,a,b,f))return m});return!!e};b.include=b.contains=function(a,c){var b=
12
+ !1;if(a==null)return b;if(o&&a.indexOf===o)return a.indexOf(c)!=-1;A(a,function(a){if(b=a===c)return!0});return b};b.invoke=function(a,c){var d=f.call(arguments,2);return b.map(a,function(a){return(c.call?c||a:a[c]).apply(a,d)})};b.pluck=function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);var e={computed:-Infinity};h(a,function(a,b,f){b=c?c.call(d,a,b,f):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,
13
+ c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);var e={computed:Infinity};h(a,function(a,b,f){b=c?c.call(d,a,b,f):a;b<e.computed&&(e={value:a,computed:b})});return e.value};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,f){return{value:a,criteria:c.call(d,a,b,f)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,b){var d={};h(a,function(a,f){var g=b(a,f);(d[g]||(d[g]=[])).push(a)});return d};b.sortedIndex=function(a,c,d){d||
14
+ (d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();if(b.isArray(a))return f.call(a);if(b.isArguments(a))return f.call(a);return b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?f.call(a,0,b):a[0]};b.rest=b.tail=function(a,b,d){return f.call(a,b==null||d?1:b)};b.last=function(a){return a[a.length-1]};b.compact=function(a){return b.filter(a,
15
+ function(a){return!!a})};b.flatten=function(a){return b.reduce(a,function(a,d){if(b.isArray(d))return a.concat(b.flatten(d));a[a.length]=d;return a},[])};b.without=function(a){return b.difference(a,f.call(arguments,1))};b.uniq=b.unique=function(a,c){return b.reduce(a,function(a,e,f){if(0==f||(c===!0?b.last(a)!=e:!b.include(a,e)))a[a.length]=e;return a},[])};b.union=function(){return b.uniq(b.flatten(arguments))};b.intersection=b.intersect=function(a){var c=f.call(arguments,1);return b.filter(b.uniq(a),
16
+ function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a,c){return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=f.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c,d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(o&&a.indexOf===o)return a.indexOf(c);d=0;for(e=a.length;d<e;d++)if(a[d]===c)return d;return-1};b.lastIndexOf=function(a,
17
+ b){if(a==null)return-1;if(z&&a.lastIndexOf===z)return a.lastIndexOf(b);for(var d=a.length;d--;)if(a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);d=arguments[2]||1;for(var e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g};b.bind=function(a,b){if(a.bind===q&&q)return q.apply(a,f.call(arguments,1));var d=f.call(arguments,2);return function(){return a.apply(b,d.concat(f.call(arguments)))}};b.bindAll=function(a){var c=f.call(arguments,1);
18
+ c.length==0&&(c=b.functions(a));h(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,c){var d={};c||(c=b.identity);return function(){var b=c.apply(this,arguments);return l.call(d,b)?d[b]:d[b]=a.apply(this,arguments)}};b.delay=function(a,b){var d=f.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(f.call(arguments,1)))};var B=function(a,b,d){var e;return function(){var f=this,g=arguments,h=function(){e=null;
19
+ a.apply(f,g)};d&&clearTimeout(e);if(d||!e)e=setTimeout(h,b)}};b.throttle=function(a,b){return B(a,b,!1)};b.debounce=function(a,b){return B(a,b,!0)};b.once=function(a){var b=!1,d;return function(){if(b)return d;b=!0;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(f.call(arguments));return b.apply(this,d)}};b.compose=function(){var a=f.call(arguments);return function(){for(var b=f.call(arguments),d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};b.after=
20
+ function(a,b){return function(){if(--a<1)return b.apply(this,arguments)}};b.keys=F||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],d;for(d in a)l.call(a,d)&&(b[b.length]=d);return b};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){h(f.call(arguments,1),function(b){for(var d in b)b[d]!==void 0&&(a[d]=b[d])});return a};b.defaults=function(a){h(f.call(arguments,
21
+ 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,c){if(a===c)return!0;var d=typeof a;if(d!=typeof c)return!1;if(a==c)return!0;if(!a&&c||a&&!c)return!1;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual)return a.isEqual(c);if(c.isEqual)return c.isEqual(a);if(b.isDate(a)&&b.isDate(c))return a.getTime()===c.getTime();if(b.isNaN(a)&&b.isNaN(c))return!1;
22
+ if(b.isRegExp(a)&&b.isRegExp(c))return a.source===c.source&&a.global===c.global&&a.ignoreCase===c.ignoreCase&&a.multiline===c.multiline;if(d!=="object")return!1;if(a.length&&a.length!==c.length)return!1;d=b.keys(a);var e=b.keys(c);if(d.length!=e.length)return!1;for(var f in a)if(!(f in c)||!b.isEqual(a[f],c[f]))return!1;return!0};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(l.call(a,c))return!1;return!0};b.isElement=function(a){return!!(a&&a.nodeType==
23
+ 1)};b.isArray=n||function(a){return E.call(a)==="[object Array]"};b.isObject=function(a){return a===Object(a)};b.isArguments=function(a){return!(!a||!l.call(a,"callee"))};b.isFunction=function(a){return!(!a||!a.constructor||!a.call||!a.apply)};b.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};b.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===!0||a===!1};b.isDate=function(a){return!(!a||!a.getTimezoneOffset||
24
+ !a.setUTCFullYear)};b.isRegExp=function(a){return!(!a||!a.test||!a.exec||!(a.ignoreCase||a.ignoreCase===!1))};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.noConflict=function(){p._=C;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.mixin=function(a){h(b.functions(a),function(c){H(c,b[c]=a[c])})};var I=0;b.uniqueId=function(a){var b=I++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};
25
+ b.template=function(a,c){var d=b.templateSettings;d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.interpolate,function(a,b){return"',"+b.replace(/\\'/g,"'")+",'"}).replace(d.evaluate||null,function(a,b){return"');"+b.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');";d=new Function("obj",d);return c?d(c):d};
26
+ var j=function(a){this._wrapped=a};b.prototype=j.prototype;var r=function(a,c){return c?b(a).chain():a},H=function(a,c){j.prototype[a]=function(){var a=f.call(arguments);D.call(a,this._wrapped);return r(c.apply(b,a),this._chain)}};b.mixin(b);h(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=i[a];j.prototype[a]=function(){b.apply(this._wrapped,arguments);return r(this._wrapped,this._chain)}});h(["concat","join","slice"],function(a){var b=i[a];j.prototype[a]=function(){return r(b.apply(this._wrapped,
27
+ arguments),this._chain)}});j.prototype.chain=function(){this._chain=!0;return this};j.prototype.value=function(){return this._wrapped}})();
@@ -0,0 +1,84 @@
1
+ $B64 = function(str) {
2
+ return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
3
+ function toSolidBytes(match, p1) {
4
+ return String.fromCharCode('0x' + p1);
5
+ }));
6
+ }
7
+
8
+ $.fn.to_em_raw = function(settings){
9
+ settings = jQuery.extend({
10
+ scope: 'body'
11
+ }, settings);
12
+ var that = parseInt(this[0]||"0",10),
13
+ scopeTest = jQuery('<div style="display: none; font-size: 1em; margin: 0; padding:0; height: auto; line-height: 1; border:0;">&nbsp;</div>').appendTo(settings.scope),
14
+ scopeVal = scopeTest.height();
15
+ scopeTest.remove();
16
+ return (that / scopeVal).toFixed(8);
17
+ };
18
+ $.fn.to_em = function(settings){
19
+ return $(this[0]).to_em_raw(settings) + 'em';
20
+ };
21
+
22
+ $.fn.get_val = function () {
23
+ if ($(this).is('input') || $(this).is('select') || $(this).is('textarea')) {
24
+ return $(this).val();
25
+ } else {
26
+ var ret = $(this).html().replace(/<div>/g,'').replace(/<\/div>/g,'\n').replace(/<br\/?>/g,'\n').replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"').replace(/&apos;/g,'\'').trim();
27
+ if (ret == '') $(this).empty();
28
+ return ret;
29
+ }
30
+ };
31
+ $.fn.set_val = function (val) {
32
+ if ($(this).is('input') || $(this).is('select') || $(this).is('textarea')) {
33
+ $(this).val(val);
34
+ } else {
35
+ $(this).text(val);
36
+ }
37
+ };
38
+ $.fn.serializePrettyXML = function () {
39
+ return vkbeautify.xml(this.serializeXML(),' ');
40
+ };
41
+
42
+ $.fn.serializeXML = function () {
43
+ var out = '';
44
+ if (typeof XMLSerializer == 'function') {
45
+ var xs = new XMLSerializer();
46
+ this.each(function() {
47
+ out += xs.serializeToString(this);
48
+ });
49
+ } else if (this[0] && this[0].xml != 'undefined') {
50
+ this.each(function() {
51
+ out += this.xml;
52
+ });
53
+ }
54
+ return out;
55
+ };
56
+ $.fn.serializePrettyXML = function () {
57
+ return vkbeautify.xml(this.serializeXML(),' ');
58
+ };
59
+
60
+ String.prototype.repeat = function(num) {
61
+ return new Array(num + 1).join(this);
62
+ };
63
+
64
+ String.prototype.unserialize = function() {
65
+ var data = this.split("&");
66
+ var ret = new Array();
67
+ $.each(data, function(){
68
+ var properties = this.split("=");
69
+ ret.push([properties[0], properties[1]]);
70
+ });
71
+ return ret;
72
+ };
73
+
74
+ $XR = function(xmlstr) {
75
+ if (typeof xmlstr == "string") {
76
+ return $.parseXML(xmlstr);
77
+ } else {
78
+ return $(xmlstr.ownerDocument || xmlstr);
79
+ }
80
+ };
81
+
82
+ $X = function(xmlstr) {
83
+ return $($.parseXML(xmlstr).documentElement);
84
+ };