PluginProbe ʕ •ᴥ•ʔ
Appointment Booking Calendar / 1.3.71
Appointment Booking Calendar v1.3.71
1.4.04 1.4.03 1.4.02 trunk 1.3.51 1.3.52 1.3.53 1.3.54 1.3.55 1.3.56 1.3.57 1.3.58 1.3.59 1.3.60 1.3.61 1.3.62 1.3.63 1.3.64 1.3.65 1.3.66 1.3.67 1.3.68 1.3.69 1.3.70 1.3.71 1.3.72 1.3.73 1.3.74 1.3.75 1.3.76 1.3.77 1.3.78 1.3.79 1.3.80 1.3.81 1.3.82 1.3.83 1.3.84 1.3.85 1.3.86 1.3.87 1.3.88 1.3.89 1.3.90 1.3.91 1.3.92 1.3.93 1.3.94 1.3.95 1.3.96 1.3.97 1.3.98 1.3.99 1.4.01
appointment-booking-calendar / mv / js / jquery.colorselect.js
appointment-booking-calendar / mv / js Last commit date
images 3 years ago Common.js 3 years ago jquery.alert.js 3 years ago jquery.calendar.js 3 years ago jquery.cleditor.css 3 years ago jquery.cleditor.js 3 years ago jquery.colorselect.js 3 years ago jquery.dropdown.js 3 years ago jquery.form.js 3 years ago jquery.validate.js 3 years ago multiview.js 3 years ago multiview.public.js 3 years ago repeat.js 3 years ago rrule.js 3 years ago underscore.js 3 years ago widget.admin.js 3 years ago
jquery.colorselect.js
160 lines
1 /// <reference path="../intellisense/jquery-1.2.6-vsdoc-cn.js" />
2 (function($) {
3 $.fn.DhoverClass = function(className) {
4 return $(this).hover(function() { $(this).addClass(className); }, function() { $(this).removeClass(className); });
5 }
6 function getDulyOffset(target, w, h) {
7 var pos = target.offset();
8 var height = target.outerHeight();
9 var newpos = { left: pos.left, top: pos.top + height - 1 }
10 var bw = $(document).width();
11 var bh = $(document).height();
12 if ((newpos.left + w) >= bw) {
13 newpos.left = bw - w - 2;
14 }
15 if ((newpos.top + h) >= bh && bw > newpos.top) {
16 newpos.top = pos.top - h - 2;
17 }
18 return newpos;
19 }
20 $.fn.colorselect = function(option) {
21 var options = $.extend({
22 hiddenid: null,
23 title: "Click to select color",
24 width: 141,
25 height: 100,
26 col:10,
27 paletteDefault: "f00",
28 index: "#ff0000",
29 cssClass: "bbit-dropdown"
30 }, option);
31 var me = $(this);
32 var id = me.attr("id");
33 if (id == null || id == "")
34 id = new Date();
35 me.addClass("containtdiv");
36 var leftId = "divleft" + id;
37 var leftdiv = $("<div/>").addClass("leftdiv").attr("id", leftId).appendTo(me);
38 var aitem = '<a href="#" id="{1}-{0}" key="#{0}" hidefocus="on"><em><span style="background:#{0};border:solid 1px #{3}" unselectable="on">&#160;</span></em></a>';
39
40
41
42 var colors = options.colors.colors;
43 var borders = colors;
44 if (colors.length>options.col)
45 {
46 var rows = Math.ceil(colors.length/options.col);
47 options.width = 14*options.col+4;
48 options.height = 14*rows+4;
49
50 }
51 else
52 {
53 options.width = 14*colors.length+4;
54 options.height = 14+4;
55 }
56 //var d = "666666888888aaaaaabbbbbbdddddda32929cc3333d96666e69999f0c2c2b1365fdd4477e67399eea2bbf5c7d67a367a994499b373b3cca2cce1c7e15229a36633cc8c66d9b399e6d1c2f029527a336699668cb399b3ccc2d1e12952a33366cc668cd999b3e6c2d1f01b887a22aa9959bfb391d5ccbde6e128754e32926265ad8999c9b1c2dfd00d78131096184cb05288cb8cb8e0ba52880066aa008cbf40b3d580d1e6b388880eaaaa11bfbf4dd5d588e6e6b8ab8b00d6ae00e0c240ebd780f3e7b3be6d00ee8800f2a640f7c480fadcb3b1440edd5511e6804deeaa88f5ccb8865a5aa87070be9494d4b8b8e5d4d47057708c6d8ca992a9c6b6c6ddd3dd4e5d6c6274878997a5b1bac3d0d6db5a69867083a894a2beb8c1d4d4dae54a716c5c8d8785aaa5aec6c3cedddb6e6e41898951a7a77dc4c4a8dcdccb8d6f47b08b59c4a883d8c5ace7dcce";
57 //d= "FFF FCC FC9 FF9 FFC 9F9 9FF CFF CCF FCF " +
58 // "CCC F66 F96 FF6 FF3 6F9 3FF 6FF 99F F9F " +
59 // "BBB F00 F90 FC6 FF0 3F3 6CC 3CF 66C C6C " +
60 // "999 C00 F60 FC3 FC0 3C0 0CC 36F 63F C3C " +
61 // "666 900 C60 C93 990 090 399 33F 60C 939 " +
62 // "333 600 930 963 660 060 366 009 339 636 " +
63 // "000 300 630 633 330 030 033 006 309 303";
64 //for (var i = 0; i < d.length; i = i + 4) {
65 // colors.push(d.substr(i, 3));
66 // borders.push(d.substr(i, 3));
67 // //borders.push(d.substr(i - 6, 6));
68 //}
69
70
71 // return "#" + d.substring(c * 30 + i * 6, c * 30 + (i + 1) * 6);
72 var html = [];
73 for (var i = 0; i < colors.length; i++) {
74 var atemp = [];
75
76 var cucolor = colors[i];
77 atemp.push(cucolor);
78 atemp.push(id);
79 atemp.push(i);
80 if (colors[i]==options.paletteDefault)
81 atemp.push("000");
82 else
83 atemp.push(borders[i]);
84 var ahtml = StrFormatNoEncode(aitem, atemp);
85 html.push(ahtml);
86 }
87 //var blanka = '<a href="#" id="{1}-{0}" key="{2}" hidefocus="on"><em><span style=" text-align:center; width:46px;padding-top:2px; height:11px;border:solid 1px #8B7B8B;" unselectable="on">none</span></em></a>'
88 //var blank = [];
89 //blank.push("ffffff");
90 //blank.push(id);
91 //blank.push(-1);
92 //
93 //html.push(StrFormatNoEncode(blanka, blank));
94 var result = html.join('');
95
96 // var innerdiv = $("<div />").addClass("centerdiv").html(result);
97 // html.push('</div>');
98 var div = $("<div />").addClass("x-color-palette").css({
99 position: "absolute",
100 "z-index": "999",
101 "overflow": "auto",
102 width: options.width,
103 height: options.height,
104 display: "none"
105 //"border": "solid 1px #555"
106
107 }).attr("id", "div" + id).html(result).appendTo("body");
108 // to select color
109 $("#div" + id + " a").click(function(e) {
110 //debugger;
111 var co = $(this).attr("id");
112
113 var selectcolor = co.split('-')[1];
114 leftdiv.css("background", "#" + selectcolor);
115 var key = $(this).attr("key");
116 //if (key != -1) {
117 leftdiv.css("border", $(this).find("span").css("border"));
118 // }
119 //else {
120 //leftdiv.css("border", "none");
121 // }
122 if (options.hiddenid != null && options.hiddenid != "") {
123 $("#" + options.hiddenid).val(key);
124 }
125 div.hide();
126 return false;
127 });
128 // drop down
129 me.click(function() {
130 var pos = getDulyOffset(me, 120, 200);
131 div.css(pos);
132 div.show();
133 $(document).one("click", function(event) { div.hide(); });
134 return false;
135 });
136 // me.addClass(options.cssClass).DhoverClass("hover");
137 // get color index
138 function getcolorbyindex(index) {
139 //if (index >= 0 && index < colors.length)
140 // return colors[index];
141 //return "ffffff";
142 return index;
143 }
144
145 leftdiv.css("background", getcolorbyindex(options.index));
146 if (options.index != -1) {
147 leftdiv.css("border", " solid 1px " + "#" + borders[options.index]);
148 }
149 else {
150 leftdiv.css("border", "solid 1px #8B7B8B");
151 }
152 if (options.hiddenid != null && options.hiddenid != "") {
153 $("#" + options.hiddenid).val(options.index);
154 }
155 /* */
156 me.attr("title", options.title);
157 return me;
158
159 } // endof colorselect
160 })(jQuery);