tjadmin 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tjadmin/version.rb +1 -1
- data/vendor/assets/font/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff +0 -0
- data/vendor/assets/font/FontAwesome.otf +0 -0
- data/vendor/assets/font/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff +0 -0
- data/vendor/assets/font/fontawesome-webfont.eot +0 -0
- data/vendor/assets/font/fontawesome-webfont.svg +399 -0
- data/vendor/assets/font/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/font/fontawesome-webfont.woff +0 -0
- data/vendor/assets/javascripts/tjadmin/ace-elements.js +866 -0
- data/vendor/assets/javascripts/tjadmin/ace-extra.js +374 -0
- data/vendor/assets/javascripts/tjadmin/ace.js +310 -0
- data/vendor/assets/javascripts/tjadmin/additional-methods.js +617 -0
- data/vendor/assets/javascripts/tjadmin/bootbox.js +660 -0
- data/vendor/assets/javascripts/tjadmin/bootstrap-colorpicker.js +540 -0
- data/vendor/assets/javascripts/tjadmin/bootstrap-tag.js +206 -0
- data/vendor/assets/javascripts/tjadmin/bootstrap-wysiwyg.js +206 -0
- data/vendor/assets/javascripts/tjadmin/bootstrap.js +2280 -0
- data/vendor/assets/javascripts/tjadmin/chosen.jquery.js +1166 -0
- data/vendor/assets/javascripts/tjadmin/date-time/bootstrap-datepicker.js +1016 -0
- data/vendor/assets/javascripts/tjadmin/date-time/bootstrap-timepicker.js +888 -0
- data/vendor/assets/javascripts/tjadmin/date-time/daterangepicker.js +854 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.bg.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.ca.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.cs.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.da.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.de.js +16 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.el.js +13 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.es.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.fi.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.fr.js +16 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.he.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.hr.js +13 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.hu.js +16 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.id.js +13 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.is.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.it.js +16 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.ja.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.kr.js +13 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.lt.js +16 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.lv.js +16 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.ms.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.nb.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.nl.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.pl.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.pt-BR.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.pt.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.ro.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.rs-latin.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.rs.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.ru.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.sk.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.sl.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.sv.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.sw.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.th.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.tr.js +15 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.uk.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.zh-CN.js +14 -0
- data/vendor/assets/javascripts/tjadmin/date-time/locales/bootstrap-datepicker.zh-TW.js +13 -0
- data/vendor/assets/javascripts/tjadmin/date-time/moment.js +1400 -0
- data/vendor/assets/javascripts/tjadmin/excanvas.js +1428 -0
- data/vendor/assets/javascripts/tjadmin/flot/jquery.flot.js +3061 -0
- data/vendor/assets/javascripts/tjadmin/flot/jquery.flot.pie.js +817 -0
- data/vendor/assets/javascripts/tjadmin/flot/jquery.flot.resize.js +60 -0
- data/vendor/assets/javascripts/tjadmin/fuelux/data/fuelux.tree-sampledata.js +174 -0
- data/vendor/assets/javascripts/tjadmin/fuelux/fuelux.spinner.js +201 -0
- data/vendor/assets/javascripts/tjadmin/fuelux/fuelux.tree.js +173 -0
- data/vendor/assets/javascripts/tjadmin/fuelux/fuelux.wizard.js +172 -0
- data/vendor/assets/javascripts/tjadmin/fullcalendar.js +5973 -0
- data/vendor/assets/javascripts/tjadmin/jquery-1.10.2.js +9789 -0
- data/vendor/assets/javascripts/tjadmin/jquery-2.0.3.js +8829 -0
- data/vendor/assets/javascripts/tjadmin/jquery-ui-1.10.3.custom.js +5423 -0
- data/vendor/assets/javascripts/tjadmin/jquery.autosize.js +242 -0
- data/vendor/assets/javascripts/tjadmin/jquery.colorbox.js +1063 -0
- data/vendor/assets/javascripts/tjadmin/jquery.dataTables.js +12099 -0
- data/vendor/assets/javascripts/tjadmin/jquery.easy-pie-chart.js +200 -0
- data/vendor/assets/javascripts/tjadmin/jquery.gritter.js +418 -0
- data/vendor/assets/javascripts/tjadmin/jquery.hotkeys.js +113 -0
- data/vendor/assets/javascripts/tjadmin/jquery.inputlimiter.1.3.1.js +172 -0
- data/vendor/assets/javascripts/tjadmin/jquery.knob.js +656 -0
- data/vendor/assets/javascripts/tjadmin/jquery.maskedinput.js +338 -0
- data/vendor/assets/javascripts/tjadmin/jquery.mobile.custom.js +1081 -0
- data/vendor/assets/javascripts/tjadmin/jquery.slimscroll.js +448 -0
- data/vendor/assets/javascripts/tjadmin/jquery.sparkline.js +3054 -0
- data/vendor/assets/javascripts/tjadmin/jquery.ui.touch-punch.js +160 -0
- data/vendor/assets/javascripts/tjadmin/jquery.validate.js +1231 -0
- data/vendor/assets/javascripts/tjadmin/markdown/bootstrap-markdown.js +993 -0
- data/vendor/assets/javascripts/tjadmin/markdown/markdown.js +1616 -0
- data/vendor/assets/javascripts/tjadmin/markdown/to-markdown.js +184 -0
- data/vendor/assets/javascripts/tjadmin/select2.js +3168 -0
- data/vendor/assets/javascripts/tjadmin/spin.js +349 -0
- data/vendor/assets/javascripts/tjadmin/x-editable/ace-editable.js +368 -0
- data/vendor/assets/javascripts/tjadmin/x-editable/bootstrap-editable.js +6827 -0
- data/vendor/assets/javascripts/tjadmin.js +5 -0
- data/vendor/assets/stylesheets/tjadmin/ace-fonts.css.scss +13 -0
- data/vendor/assets/stylesheets/tjadmin/ace-ie.css +293 -0
- data/vendor/assets/stylesheets/tjadmin/ace-responsive.css +1113 -0
- data/vendor/assets/stylesheets/tjadmin/ace-skins.css +1301 -0
- data/vendor/assets/stylesheets/tjadmin/ace.css +14701 -0
- data/vendor/assets/stylesheets/tjadmin/bootstrap-responsive.css +1109 -0
- data/vendor/assets/stylesheets/tjadmin/bootstrap.css +6167 -0
- data/vendor/assets/stylesheets/tjadmin/chosen.css +430 -0
- data/vendor/assets/stylesheets/tjadmin/font-awesome-ie7.css +1203 -0
- data/vendor/assets/stylesheets/tjadmin/font-awesome.css +1479 -0
- data/vendor/assets/stylesheets/tjadmin/jquery-ui-1.10.3.custom.css +223 -0
- data/vendor/assets/stylesheets/tjadmin.css +9 -0
- metadata +106 -1
@@ -0,0 +1,60 @@
|
|
1
|
+
/* Flot plugin for automatically redrawing plots as the placeholder resizes.
|
2
|
+
|
3
|
+
Copyright (c) 2007-2013 IOLA and Ole Laursen.
|
4
|
+
Licensed under the MIT license.
|
5
|
+
|
6
|
+
It works by listening for changes on the placeholder div (through the jQuery
|
7
|
+
resize event plugin) - if the size changes, it will redraw the plot.
|
8
|
+
|
9
|
+
There are no options. If you need to disable the plugin for some plots, you
|
10
|
+
can just fix the size of their placeholders.
|
11
|
+
|
12
|
+
*/
|
13
|
+
|
14
|
+
/* Inline dependency:
|
15
|
+
* jQuery resize event - v1.1 - 3/14/2010
|
16
|
+
* http://benalman.com/projects/jquery-resize-plugin/
|
17
|
+
*
|
18
|
+
* Copyright (c) 2010 "Cowboy" Ben Alman
|
19
|
+
* Dual licensed under the MIT and GPL licenses.
|
20
|
+
* http://benalman.com/about/license/
|
21
|
+
*/
|
22
|
+
|
23
|
+
(function($,h,c){var a=$([]),e=$.resize=$.extend($.resize,{}),i,k="setTimeout",j="resize",d=j+"-special-event",b="delay",f="throttleWindow";e[b]=250;e[f]=true;$.event.special[j]={setup:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.add(l);$.data(this,d,{w:l.width(),h:l.height()});if(a.length===1){g()}},teardown:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.not(l);l.removeData(d);if(!a.length){clearTimeout(i)}},add:function(l){if(!e[f]&&this[k]){return false}var n;function m(s,o,p){var q=$(this),r=$.data(this,d);r.w=o!==c?o:q.width();r.h=p!==c?p:q.height();n.apply(this,arguments)}if($.isFunction(l)){n=l;return m}else{n=l.handler;l.handler=m}}};function g(){i=h[k](function(){a.each(function(){var n=$(this),m=n.width(),l=n.height(),o=$.data(this,d);if(m!==o.w||l!==o.h){n.trigger(j,[o.w=m,o.h=l])}});g()},e[b])}})(jQuery,this);
|
24
|
+
|
25
|
+
(function ($) {
|
26
|
+
var options = { }; // no options
|
27
|
+
|
28
|
+
function init(plot) {
|
29
|
+
function onResize() {
|
30
|
+
var placeholder = plot.getPlaceholder();
|
31
|
+
|
32
|
+
// somebody might have hidden us and we can't plot
|
33
|
+
// when we don't have the dimensions
|
34
|
+
if (placeholder.width() == 0 || placeholder.height() == 0)
|
35
|
+
return;
|
36
|
+
|
37
|
+
plot.resize();
|
38
|
+
plot.setupGrid();
|
39
|
+
plot.draw();
|
40
|
+
}
|
41
|
+
|
42
|
+
function bindEvents(plot, eventHolder) {
|
43
|
+
plot.getPlaceholder().resize(onResize);
|
44
|
+
}
|
45
|
+
|
46
|
+
function shutdown(plot, eventHolder) {
|
47
|
+
plot.getPlaceholder().unbind("resize", onResize);
|
48
|
+
}
|
49
|
+
|
50
|
+
plot.hooks.bindEvents.push(bindEvents);
|
51
|
+
plot.hooks.shutdown.push(shutdown);
|
52
|
+
}
|
53
|
+
|
54
|
+
$.plot.plugins.push({
|
55
|
+
init: init,
|
56
|
+
options: options,
|
57
|
+
name: 'resize',
|
58
|
+
version: '1.0'
|
59
|
+
});
|
60
|
+
})(jQuery);
|
@@ -0,0 +1,174 @@
|
|
1
|
+
var DataSourceTree = function(options) {
|
2
|
+
this._data = options.data;
|
3
|
+
this._delay = options.delay;
|
4
|
+
}
|
5
|
+
|
6
|
+
DataSourceTree.prototype.data = function(options, callback) {
|
7
|
+
var self = this;
|
8
|
+
var $data = null;
|
9
|
+
|
10
|
+
if(!("name" in options) && !("type" in options)){
|
11
|
+
$data = this._data;//the root tree
|
12
|
+
callback({ data: $data });
|
13
|
+
return;
|
14
|
+
}
|
15
|
+
else if("type" in options && options.type == "folder") {
|
16
|
+
if("additionalParameters" in options && "children" in options.additionalParameters)
|
17
|
+
$data = options.additionalParameters.children;
|
18
|
+
else $data = {}//no data
|
19
|
+
}
|
20
|
+
|
21
|
+
if($data != null)//this setTimeout is only for mimicking some random delay
|
22
|
+
setTimeout(function(){callback({ data: $data });} , parseInt(Math.random() * 500) + 200);
|
23
|
+
|
24
|
+
//you can retrieve your data from a server using ajax call
|
25
|
+
};
|
26
|
+
|
27
|
+
var tree_data = {
|
28
|
+
'for-sale' : {name: 'For Sale', type: 'folder'} ,
|
29
|
+
'vehicles' : {name: 'Vehicles', type: 'folder'} ,
|
30
|
+
'rentals' : {name: 'Rentals', type: 'folder'} ,
|
31
|
+
'real-estate' : {name: 'Real Estate', type: 'folder'} ,
|
32
|
+
'pets' : {name: 'Pets', type: 'folder'} ,
|
33
|
+
'tickets' : {name: 'Tickets', type: 'item'} ,
|
34
|
+
'services' : {name: 'Services', type: 'item'} ,
|
35
|
+
'personals' : {name: 'Personals', type: 'item'}
|
36
|
+
}
|
37
|
+
tree_data['for-sale']['additionalParameters'] = {
|
38
|
+
'children' : {
|
39
|
+
'appliances' : {name: 'Appliances', type: 'item'},
|
40
|
+
'arts-crafts' : {name: 'Arts & Crafts', type: 'item'},
|
41
|
+
'clothing' : {name: 'Clothing', type: 'item'},
|
42
|
+
'computers' : {name: 'Computers', type: 'item'},
|
43
|
+
'jewelry' : {name: 'Jewelry', type: 'item'},
|
44
|
+
'office-business' : {name: 'Office & Business', type: 'item'},
|
45
|
+
'sports-fitness' : {name: 'Sports & Fitness', type: 'item'}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
tree_data['vehicles']['additionalParameters'] = {
|
49
|
+
'children' : {
|
50
|
+
'cars' : {name: 'Cars', type: 'folder'},
|
51
|
+
'motorcycles' : {name: 'Motorcycles', type: 'item'},
|
52
|
+
'boats' : {name: 'Boats', type: 'item'}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
tree_data['vehicles']['additionalParameters']['children']['cars']['additionalParameters'] = {
|
56
|
+
'children' : {
|
57
|
+
'classics' : {name: 'Classics', type: 'item'},
|
58
|
+
'convertibles' : {name: 'Convertibles', type: 'item'},
|
59
|
+
'coupes' : {name: 'Coupes', type: 'item'},
|
60
|
+
'hatchbacks' : {name: 'Hatchbacks', type: 'item'},
|
61
|
+
'hybrids' : {name: 'Hybrids', type: 'item'},
|
62
|
+
'suvs' : {name: 'SUVs', type: 'item'},
|
63
|
+
'sedans' : {name: 'Sedans', type: 'item'},
|
64
|
+
'trucks' : {name: 'Trucks', type: 'item'}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
tree_data['rentals']['additionalParameters'] = {
|
69
|
+
'children' : {
|
70
|
+
'apartments-rentals' : {name: 'Apartments', type: 'item'},
|
71
|
+
'office-space-rentals' : {name: 'Office Space', type: 'item'},
|
72
|
+
'vacation-rentals' : {name: 'Vacation Rentals', type: 'item'}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
tree_data['real-estate']['additionalParameters'] = {
|
76
|
+
'children' : {
|
77
|
+
'apartments' : {name: 'Apartments', type: 'item'},
|
78
|
+
'villas' : {name: 'Villas', type: 'item'},
|
79
|
+
'plots' : {name: 'Plots', type: 'item'}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
tree_data['pets']['additionalParameters'] = {
|
83
|
+
'children' : {
|
84
|
+
'cats' : {name: 'Cats', type: 'item'},
|
85
|
+
'dogs' : {name: 'Dogs', type: 'item'},
|
86
|
+
'horses' : {name: 'Horses', type: 'item'},
|
87
|
+
'reptiles' : {name: 'Reptiles', type: 'item'}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
var treeDataSource = new DataSourceTree({data: tree_data});
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
var tree_data_2 = {
|
104
|
+
'pictures' : {name: 'Pictures', type: 'folder'} ,
|
105
|
+
'music' : {name: 'Music', type: 'folder'} ,
|
106
|
+
'video' : {name: 'Video', type: 'folder'} ,
|
107
|
+
'documents' : {name: 'Documents', type: 'folder'} ,
|
108
|
+
'backup' : {name: 'Backup', type: 'folder'} ,
|
109
|
+
'readme' : {name: '<img src="'+$assets+'/icons/txt.png" /> ReadMe.txt', type: 'item'},
|
110
|
+
'manual' : {name: '<img src="'+$assets+'/icons/html.png" /> Manual.html', type: 'item'}
|
111
|
+
}
|
112
|
+
tree_data_2['music']['additionalParameters'] = {
|
113
|
+
'children' : [
|
114
|
+
{name: '<img src="'+$assets+'/icons/ogg.png" /> song1.ogg', type: 'item'},
|
115
|
+
{name: '<img src="'+$assets+'/icons/ogg.png" /> song2.ogg', type: 'item'},
|
116
|
+
{name: '<img src="'+$assets+'/icons/ogg.png" /> song3.ogg', type: 'item'},
|
117
|
+
{name: '<img src="'+$assets+'/icons/ogg.png" /> song4.ogg', type: 'item'},
|
118
|
+
{name: '<img src="'+$assets+'/icons/ogg.png" /> song5.ogg', type: 'item'}
|
119
|
+
]
|
120
|
+
}
|
121
|
+
tree_data_2['video']['additionalParameters'] = {
|
122
|
+
'children' : [
|
123
|
+
{name: '<img src="'+$assets+'/icons/divx.png" /> movie1.avi', type: 'item'},
|
124
|
+
{name: '<img src="'+$assets+'/icons/divx.png" /> movie2.avi', type: 'item'},
|
125
|
+
{name: '<img src="'+$assets+'/icons/divx.png" /> movie3.avi', type: 'item'},
|
126
|
+
{name: '<img src="'+$assets+'/icons/divx.png" /> movie4.avi', type: 'item'},
|
127
|
+
{name: '<img src="'+$assets+'/icons/divx.png" /> movie5.avi', type: 'item'}
|
128
|
+
]
|
129
|
+
}
|
130
|
+
tree_data_2['pictures']['additionalParameters'] = {
|
131
|
+
'children' : {
|
132
|
+
'wallpapers' : {name: 'Wallpapers', type: 'folder'},
|
133
|
+
'camera' : {name: 'Camera', type: 'folder'}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
tree_data_2['pictures']['additionalParameters']['children']['wallpapers']['additionalParameters'] = {
|
137
|
+
'children' : [
|
138
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> wallpaper1.jpg', type: 'item'},
|
139
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> wallpaper2.jpg', type: 'item'},
|
140
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> wallpaper3.jpg', type: 'item'},
|
141
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> wallpaper4.jpg', type: 'item'}
|
142
|
+
]
|
143
|
+
}
|
144
|
+
tree_data_2['pictures']['additionalParameters']['children']['camera']['additionalParameters'] = {
|
145
|
+
'children' : [
|
146
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> photo1.jpg', type: 'item'},
|
147
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> photo2.jpg', type: 'item'},
|
148
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> photo3.jpg', type: 'item'},
|
149
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> photo4.jpg', type: 'item'},
|
150
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> photo5.jpg', type: 'item'},
|
151
|
+
{name: '<img src="'+$assets+'/icons/jpg.png" /> photo6.jpg', type: 'item'}
|
152
|
+
]
|
153
|
+
}
|
154
|
+
|
155
|
+
|
156
|
+
tree_data_2['documents']['additionalParameters'] = {
|
157
|
+
'children' : [
|
158
|
+
{name: '<img src="'+$assets+'/icons/pdf.png" /> document1.pdf', type: 'item'},
|
159
|
+
{name: '<img src="'+$assets+'/icons/doc.png" /> document2.doc', type: 'item'},
|
160
|
+
{name: '<img src="'+$assets+'/icons/doc.png" /> document3.doc', type: 'item'},
|
161
|
+
{name: '<img src="'+$assets+'/icons/pdf.png" /> document4.pdf', type: 'item'},
|
162
|
+
{name: '<img src="'+$assets+'/icons/doc.png" /> document5.doc', type: 'item'}
|
163
|
+
]
|
164
|
+
}
|
165
|
+
|
166
|
+
tree_data_2['backup']['additionalParameters'] = {
|
167
|
+
'children' : [
|
168
|
+
{name: '<img src="'+$assets+'/icons/zip.png" /> backup1.zip', type: 'item'},
|
169
|
+
{name: '<img src="'+$assets+'/icons/zip.png" /> backup2.zip', type: 'item'},
|
170
|
+
{name: '<img src="'+$assets+'/icons/zip.png" /> backup3.zip', type: 'item'},
|
171
|
+
{name: '<img src="'+$assets+'/icons/zip.png" /> backup4.zip', type: 'item'}
|
172
|
+
]
|
173
|
+
}
|
174
|
+
var treeDataSource2 = new DataSourceTree({data: tree_data_2});
|
@@ -0,0 +1,201 @@
|
|
1
|
+
/*
|
2
|
+
* Fuel UX Spinner
|
3
|
+
* https://github.com/ExactTarget/fuelux
|
4
|
+
*
|
5
|
+
* Copyright (c) 2012 ExactTarget
|
6
|
+
* Licensed under the MIT license.
|
7
|
+
*/
|
8
|
+
|
9
|
+
(function($ , undefined) {
|
10
|
+
|
11
|
+
//var $ = require('jquery');
|
12
|
+
|
13
|
+
|
14
|
+
// SPINNER CONSTRUCTOR AND PROTOTYPE
|
15
|
+
|
16
|
+
var Spinner = function (element, options) {
|
17
|
+
this.$element = $(element);
|
18
|
+
this.options = $.extend({}, $.fn.spinner.defaults, options);
|
19
|
+
this.$input = this.$element.find('.spinner-input');
|
20
|
+
this.$element.on('keyup', this.$input, $.proxy(this.change, this));
|
21
|
+
|
22
|
+
if (this.options.hold) {
|
23
|
+
this.$element.on('mousedown', '.spinner-up', $.proxy(function() { this.startSpin(true); } , this));
|
24
|
+
this.$element.on('mouseup', '.spinner-up, .spinner-down', $.proxy(this.stopSpin, this));
|
25
|
+
this.$element.on('mouseout', '.spinner-up, .spinner-down', $.proxy(this.stopSpin, this));
|
26
|
+
this.$element.on('mousedown', '.spinner-down', $.proxy(function() {this.startSpin(false);} , this));
|
27
|
+
} else {
|
28
|
+
this.$element.on('click', '.spinner-up', $.proxy(function() { this.step(true); } , this));
|
29
|
+
this.$element.on('click', '.spinner-down', $.proxy(function() { this.step(false); }, this));
|
30
|
+
}
|
31
|
+
|
32
|
+
this.switches = {
|
33
|
+
count: 1,
|
34
|
+
enabled: true
|
35
|
+
};
|
36
|
+
|
37
|
+
if (this.options.speed === 'medium') {
|
38
|
+
this.switches.speed = 300;
|
39
|
+
} else if (this.options.speed === 'fast') {
|
40
|
+
this.switches.speed = 100;
|
41
|
+
} else {
|
42
|
+
this.switches.speed = 500;
|
43
|
+
}
|
44
|
+
|
45
|
+
this.lastValue = null;
|
46
|
+
|
47
|
+
this.render();
|
48
|
+
|
49
|
+
if (this.options.disabled) {
|
50
|
+
this.disable();
|
51
|
+
}
|
52
|
+
};
|
53
|
+
|
54
|
+
Spinner.prototype = {
|
55
|
+
constructor: Spinner,
|
56
|
+
|
57
|
+
render: function () {
|
58
|
+
this.$input.val(this.options.value);
|
59
|
+
this.$input.attr('maxlength',(this.options.max + '').split('').length);
|
60
|
+
},
|
61
|
+
|
62
|
+
change: function () {
|
63
|
+
var newVal = this.$input.val();
|
64
|
+
|
65
|
+
if(newVal/1){
|
66
|
+
this.options.value = newVal/1;
|
67
|
+
}else{
|
68
|
+
newVal = newVal.replace(/[^0-9]/g,'');
|
69
|
+
this.$input.val(newVal);
|
70
|
+
this.options.value = newVal/1;
|
71
|
+
}
|
72
|
+
|
73
|
+
this.triggerChangedEvent();
|
74
|
+
},
|
75
|
+
|
76
|
+
stopSpin: function () {
|
77
|
+
clearTimeout(this.switches.timeout);
|
78
|
+
this.switches.count = 1;
|
79
|
+
this.triggerChangedEvent();
|
80
|
+
},
|
81
|
+
|
82
|
+
triggerChangedEvent: function () {
|
83
|
+
var currentValue = this.value();
|
84
|
+
if (currentValue === this.lastValue) return;
|
85
|
+
|
86
|
+
this.lastValue = currentValue;
|
87
|
+
|
88
|
+
// Primary changed event
|
89
|
+
this.$element.trigger('changed', currentValue);
|
90
|
+
|
91
|
+
// Undocumented, kept for backward compatibility
|
92
|
+
this.$element.trigger('change');
|
93
|
+
},
|
94
|
+
|
95
|
+
startSpin: function (type) {
|
96
|
+
|
97
|
+
if (!this.options.disabled) {
|
98
|
+
var divisor = this.switches.count;
|
99
|
+
|
100
|
+
if (divisor === 1) {
|
101
|
+
this.step(type);
|
102
|
+
divisor = 1;
|
103
|
+
} else if (divisor < 3){
|
104
|
+
divisor = 1.5;
|
105
|
+
} else if (divisor < 8){
|
106
|
+
divisor = 2.5;
|
107
|
+
} else {
|
108
|
+
divisor = 4;
|
109
|
+
}
|
110
|
+
|
111
|
+
this.switches.timeout = setTimeout($.proxy(function() {this.iterator(type);} ,this),this.switches.speed/divisor);
|
112
|
+
this.switches.count++;
|
113
|
+
}
|
114
|
+
},
|
115
|
+
|
116
|
+
iterator: function (type) {
|
117
|
+
this.step(type);
|
118
|
+
this.startSpin(type);
|
119
|
+
},
|
120
|
+
|
121
|
+
step: function (dir) {
|
122
|
+
var curValue = this.options.value;
|
123
|
+
var limValue = dir ? this.options.max : this.options.min;
|
124
|
+
|
125
|
+
if ((dir ? curValue < limValue : curValue > limValue)) {
|
126
|
+
var newVal = curValue + (dir ? 1 : -1) * this.options.step;
|
127
|
+
|
128
|
+
if (dir ? newVal > limValue : newVal < limValue) {
|
129
|
+
this.value(limValue);
|
130
|
+
} else {
|
131
|
+
this.value(newVal);
|
132
|
+
}
|
133
|
+
}
|
134
|
+
},
|
135
|
+
|
136
|
+
value: function (value) {
|
137
|
+
if (!isNaN(parseFloat(value)) && isFinite(value)) {
|
138
|
+
value = parseFloat(value);
|
139
|
+
this.options.value = value;
|
140
|
+
this.$input.val(value);
|
141
|
+
return this;
|
142
|
+
} else {
|
143
|
+
return this.options.value;
|
144
|
+
}
|
145
|
+
},
|
146
|
+
|
147
|
+
disable: function () {
|
148
|
+
this.options.disabled = true;
|
149
|
+
this.$input.attr('disabled','');
|
150
|
+
this.$element.find('button').addClass('disabled');
|
151
|
+
},
|
152
|
+
|
153
|
+
enable: function () {
|
154
|
+
this.options.disabled = false;
|
155
|
+
this.$input.removeAttr("disabled");
|
156
|
+
this.$element.find('button').removeClass('disabled');
|
157
|
+
}
|
158
|
+
};
|
159
|
+
|
160
|
+
|
161
|
+
// SPINNER PLUGIN DEFINITION
|
162
|
+
|
163
|
+
$.fn.spinner = function (option,value) {
|
164
|
+
var methodReturn;
|
165
|
+
|
166
|
+
var $set = this.each(function () {
|
167
|
+
var $this = $(this);
|
168
|
+
var data = $this.data('spinner');
|
169
|
+
var options = typeof option === 'object' && option;
|
170
|
+
|
171
|
+
if (!data) $this.data('spinner', (data = new Spinner(this, options)));
|
172
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
173
|
+
});
|
174
|
+
|
175
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
176
|
+
};
|
177
|
+
|
178
|
+
$.fn.spinner.defaults = {
|
179
|
+
value: 1,
|
180
|
+
min: 1,
|
181
|
+
max: 999,
|
182
|
+
step: 1,
|
183
|
+
hold: true,
|
184
|
+
speed: 'medium',
|
185
|
+
disabled: false
|
186
|
+
};
|
187
|
+
|
188
|
+
$.fn.spinner.Constructor = Spinner;
|
189
|
+
|
190
|
+
|
191
|
+
// SPINNER DATA-API
|
192
|
+
|
193
|
+
$(function () {
|
194
|
+
$('body').on('mousedown.spinner.data-api', '.spinner', function (e) {
|
195
|
+
var $this = $(this);
|
196
|
+
if ($this.data('spinner')) return;
|
197
|
+
$this.spinner($this.data());
|
198
|
+
});
|
199
|
+
});
|
200
|
+
|
201
|
+
})(window.jQuery);
|
@@ -0,0 +1,173 @@
|
|
1
|
+
/*
|
2
|
+
* Fuel UX Tree
|
3
|
+
* https://github.com/ExactTarget/fuelux
|
4
|
+
*
|
5
|
+
* Copyright (c) 2012 ExactTarget
|
6
|
+
* Licensed under the MIT license.
|
7
|
+
*/
|
8
|
+
|
9
|
+
(function($ , undefined) {
|
10
|
+
|
11
|
+
//var $ = require('jquery');
|
12
|
+
|
13
|
+
|
14
|
+
// TREE CONSTRUCTOR AND PROTOTYPE
|
15
|
+
|
16
|
+
var Tree = function (element, options) {
|
17
|
+
this.$element = $(element);
|
18
|
+
this.options = $.extend({}, $.fn.tree.defaults, options);
|
19
|
+
|
20
|
+
this.$element.on('click', '.tree-item', $.proxy( function(ev) { this.selectItem(ev.currentTarget); } ,this));
|
21
|
+
this.$element.on('click', '.tree-folder-header', $.proxy( function(ev) { this.selectFolder(ev.currentTarget); }, this));
|
22
|
+
|
23
|
+
this.render();
|
24
|
+
};
|
25
|
+
|
26
|
+
Tree.prototype = {
|
27
|
+
constructor: Tree,
|
28
|
+
|
29
|
+
render: function () {
|
30
|
+
this.populate(this.$element);
|
31
|
+
},
|
32
|
+
|
33
|
+
populate: function ($el) {
|
34
|
+
var self = this;
|
35
|
+
var loader = $el.parent().find('.tree-loader:eq(0)');
|
36
|
+
|
37
|
+
loader.show();
|
38
|
+
this.options.dataSource.data($el.data(), function (items) {
|
39
|
+
loader.hide();
|
40
|
+
|
41
|
+
$.each( items.data, function(index, value) {
|
42
|
+
var $entity;
|
43
|
+
|
44
|
+
if(value.type === "folder") {
|
45
|
+
$entity = self.$element.find('.tree-folder:eq(0)').clone().show();
|
46
|
+
$entity.find('.tree-folder-name').html(value.name);
|
47
|
+
$entity.find('.tree-loader').html(self.options.loadingHTML);
|
48
|
+
var header = $entity.find('.tree-folder-header');
|
49
|
+
header.data(value);
|
50
|
+
if('icon-class' in value)
|
51
|
+
header.find('[class*="icon-"]').addClass(value['icon-class']);
|
52
|
+
} else if (value.type === "item") {
|
53
|
+
$entity = self.$element.find('.tree-item:eq(0)').clone().show();
|
54
|
+
$entity.find('.tree-item-name').html(value.name);
|
55
|
+
$entity.data(value);
|
56
|
+
}
|
57
|
+
|
58
|
+
if($el.hasClass('tree-folder-header')) {
|
59
|
+
$el.parent().find('.tree-folder-content:eq(0)').append($entity);
|
60
|
+
} else {
|
61
|
+
$el.append($entity);
|
62
|
+
}
|
63
|
+
});
|
64
|
+
|
65
|
+
self.$element.trigger('loaded');
|
66
|
+
});
|
67
|
+
},
|
68
|
+
|
69
|
+
selectItem: function (el) {
|
70
|
+
if(this.options['selectable'] == false) return;
|
71
|
+
var $el = $(el);
|
72
|
+
var $all = this.$element.find('.tree-selected');
|
73
|
+
var data = [];
|
74
|
+
|
75
|
+
if (this.options.multiSelect) {
|
76
|
+
$.each($all, function(index, value) {
|
77
|
+
var $val = $(value);
|
78
|
+
if($val[0] !== $el[0]) {
|
79
|
+
data.push( $(value).data() );
|
80
|
+
}
|
81
|
+
});
|
82
|
+
} else if ($all[0] !== $el[0]) {
|
83
|
+
$all.removeClass('tree-selected')
|
84
|
+
.find('i').removeClass(this.options['selected-icon']).addClass(this.options['unselected-icon']);
|
85
|
+
data.push($el.data());
|
86
|
+
}
|
87
|
+
|
88
|
+
if($el.hasClass('tree-selected')) {
|
89
|
+
$el.removeClass('tree-selected');
|
90
|
+
$el.find('i').removeClass(this.options['selected-icon']).addClass(this.options['unselected-icon']);
|
91
|
+
} else {
|
92
|
+
$el.addClass ('tree-selected');
|
93
|
+
$el.find('i').removeClass(this.options['unselected-icon']).addClass(this.options['selected-icon']);
|
94
|
+
if (this.options.multiSelect) {
|
95
|
+
data.push( $el.data() );
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
if(data.length) {
|
100
|
+
this.$element.trigger('selected', {info: data});
|
101
|
+
}
|
102
|
+
|
103
|
+
},
|
104
|
+
|
105
|
+
selectFolder: function (el) {
|
106
|
+
var $el = $(el);
|
107
|
+
var $par = $el.parent();
|
108
|
+
|
109
|
+
if($el.find('.'+this.options['close-icon']).length) {
|
110
|
+
if ($par.find('.tree-folder-content').children().length) {
|
111
|
+
$par.find('.tree-folder-content:eq(0)').show();
|
112
|
+
} else {
|
113
|
+
this.populate( $el );
|
114
|
+
}
|
115
|
+
|
116
|
+
$par.find('.'+this.options['close-icon']+':eq(0)')
|
117
|
+
.removeClass(this.options['close-icon'])
|
118
|
+
.addClass(this.options['open-icon']);
|
119
|
+
|
120
|
+
this.$element.trigger('opened', $el.data());
|
121
|
+
} else {
|
122
|
+
if(this.options.cacheItems) {
|
123
|
+
$par.find('.tree-folder-content:eq(0)').hide();
|
124
|
+
} else {
|
125
|
+
$par.find('.tree-folder-content:eq(0)').empty();
|
126
|
+
}
|
127
|
+
|
128
|
+
$par.find('.'+this.options['open-icon']+':eq(0)')
|
129
|
+
.removeClass(this.options['open-icon'])
|
130
|
+
.addClass(this.options['close-icon']);
|
131
|
+
|
132
|
+
this.$element.trigger('closed', $el.data());
|
133
|
+
}
|
134
|
+
},
|
135
|
+
|
136
|
+
selectedItems: function () {
|
137
|
+
var $sel = this.$element.find('.tree-selected');
|
138
|
+
var data = [];
|
139
|
+
|
140
|
+
$.each($sel, function (index, value) {
|
141
|
+
data.push($(value).data());
|
142
|
+
});
|
143
|
+
return data;
|
144
|
+
}
|
145
|
+
};
|
146
|
+
|
147
|
+
|
148
|
+
// TREE PLUGIN DEFINITION
|
149
|
+
|
150
|
+
$.fn.tree = function (option, value) {
|
151
|
+
var methodReturn;
|
152
|
+
|
153
|
+
var $set = this.each(function () {
|
154
|
+
var $this = $(this);
|
155
|
+
var data = $this.data('tree');
|
156
|
+
var options = typeof option === 'object' && option;
|
157
|
+
|
158
|
+
if (!data) $this.data('tree', (data = new Tree(this, options)));
|
159
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
160
|
+
});
|
161
|
+
|
162
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
163
|
+
};
|
164
|
+
|
165
|
+
$.fn.tree.defaults = {
|
166
|
+
multiSelect: false,
|
167
|
+
loadingHTML: '<div>Loading...</div>',
|
168
|
+
cacheItems: true
|
169
|
+
};
|
170
|
+
|
171
|
+
$.fn.tree.Constructor = Tree;
|
172
|
+
|
173
|
+
})(window.jQuery);
|