rsence 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/js/comm/queue/queue.js +17 -8
- data/js/comm/transporter/transporter.js +11 -10
- data/js/controls/button/themes/bright/button_parts1.png +0 -0
- data/js/controls/button/themes/default/button_parts1.png +0 -0
- data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
- data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
- data/js/controls/searchfield/themes/default/searchfield_parts1.png +0 -0
- data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
- data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
- data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
- data/js/controls/tab/tab.js +4 -3
- data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
- data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/default/tab_parts1.png +0 -0
- data/js/controls/textcontrol/textcontrol.js +3 -1
- data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
- data/js/controls/validatorview/themes/default/validator.png +0 -0
- data/js/controls/window/themes/default/window.css +66 -54
- data/js/controls/window/themes/default/window.html +6 -2
- data/js/controls/window/themes/default/window_bg_active.png +0 -0
- data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
- data/js/controls/window/themes/default/window_buttons.png +0 -0
- data/js/controls/window/themes/default/window_parts1.png +0 -0
- data/js/controls/window/themes/default/window_parts2.png +0 -0
- data/js/controls/window/window.js +167 -40
- data/js/core/class/class.js +3 -0
- data/js/core/elem/elem.coffee +36 -16
- data/js/datetime/calendar/calendar.coffee +24 -8
- data/js/datetime/calendar/themes/default/calendar.html +2 -2
- data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
- data/js/datetime/calendar/themes/default/calendar_bg.png +0 -0
- data/js/datetime/calendar/themes/default/calendar_parts1.png +0 -0
- data/js/datetime/calendar/themes/default/calendar_parts2.png +0 -0
- data/js/datetime/timesheet_item/themes/default/timesheet_item_icons.png +0 -0
- data/js/datetime/timesheet_item/timesheet_item.js +1 -1
- data/js/foundation/geom/rect/rect.js +83 -47
- data/js/foundation/thememanager/thememanager.js +3 -0
- data/js/foundation/view/markupview/markupview.js +1 -1
- data/js/foundation/view/view.js +136 -37
- data/js/lists/propertylist/propertylist.js +33 -31
- data/js/menus/minimenu/minimenu.js +4 -2
- data/js/menus/minimenu/themes/default/minimenu.png +0 -0
- data/js/menus/minimenuitem/themes/default/minimenuitem_checkmark.png +0 -0
- data/js/menus/popupmenu/themes/default/popupmenu.png +0 -0
- data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
- data/lib/rsence/argv/startup_argv.rb +1 -1
- data/lib/rsence/default_config.rb +2 -2
- data/lib/rsence/plugins/plugin.rb +0 -1
- data/plugins/client_pkg/client_pkg.rb +7 -9
- data/plugins/client_pkg/lib/client_pkg_build.rb +214 -99
- data/plugins/main/main.rb +5 -1
- metadata +4 -4
@@ -11,15 +11,16 @@
|
|
11
11
|
## and weeks as rows. Its value is a date/time number specified in seconds
|
12
12
|
## since or before epoch (1970-01-01 00:00:00 UTC).
|
13
13
|
####
|
14
|
-
HCalendar = HControl.extend
|
14
|
+
HCalendar = HControl.extend
|
15
15
|
|
16
16
|
componentName: 'calendar'
|
17
|
+
markupElemNames: [ 'control', 'state', 'label', 'value', 'prevMonth', 'nextMonth' ]
|
17
18
|
|
18
19
|
## Disable the mouseWheel event to prevent prev/next -month switching with
|
19
20
|
## the mouse wheel or equivalent content-scrolling user interface gesture
|
20
21
|
defaultEvents:
|
21
22
|
mouseWheel: true
|
22
|
-
click: true
|
23
|
+
# click: true
|
23
24
|
|
24
25
|
## Calls HCalendar#nextMonth or HCalendar#prevMonth based on delta change
|
25
26
|
## of the mouseWheel event
|
@@ -33,6 +34,15 @@ HCalendar = HControl.extend(
|
|
33
34
|
click: ->
|
34
35
|
false
|
35
36
|
|
37
|
+
drawSubviews: ->
|
38
|
+
_this = @
|
39
|
+
Event.observe( @elemOfPart( 'prevMonth' ), 'click', ->
|
40
|
+
_this.prevMonth()
|
41
|
+
)
|
42
|
+
Event.observe( @elemOfPart( 'nextMonth' ), 'click', ->
|
43
|
+
_this.nextMonth()
|
44
|
+
)
|
45
|
+
|
36
46
|
## Returns an array of week day names starting with the short name of the word "week".
|
37
47
|
## The default locale returns: ['Wk','Mon','Tue','Wed','Thu','Fri','Sat','Sun']
|
38
48
|
## See HLocale for more details
|
@@ -244,6 +254,7 @@ HCalendar = HControl.extend(
|
|
244
254
|
_parentElem = @markupElemIds.value
|
245
255
|
ELEM.setStyle( _parentElem, 'visibility', 'hidden', true )
|
246
256
|
_elems = []
|
257
|
+
_this = @
|
247
258
|
for _row in [0..5]
|
248
259
|
_weekElem = ELEM.make( _parentElem )
|
249
260
|
_elems.push( _weekElem )
|
@@ -276,7 +287,11 @@ HCalendar = HControl.extend(
|
|
276
287
|
ELEM.addClassName( _colElem, 'calendar_weeks_week_col_no' )
|
277
288
|
else
|
278
289
|
ELEM.addClassName( _colElem, 'calendar_weeks_week_col_yes' )
|
279
|
-
ELEM.setAttr( _colElem, '
|
290
|
+
ELEM.setAttr( _colElem, '_colSecs', _colSecs )
|
291
|
+
Event.observe( ELEM.get( _colElem ), 'click', ->
|
292
|
+
_this.setValue( @_colSecs )
|
293
|
+
)
|
294
|
+
# ELEM.setAttr( _colElem, 'href', "javascript:HSystem.views[#{@viewId}].setValue(#{_colSecs})" )
|
280
295
|
_left = (_col*_colWidth+_leftPlus)
|
281
296
|
ELEM.setStyle( _colElem, 'left', _left+'px' )
|
282
297
|
ELEM.setStyle( _colElem, 'width', (_colWidth-1)+'px' )
|
@@ -286,22 +301,23 @@ HCalendar = HControl.extend(
|
|
286
301
|
ELEM.setStyle( _parentElem, 'visibility', 'inherit' )
|
287
302
|
_stateElem = @markupElemIds.state
|
288
303
|
|
289
|
-
@_monthMenu = ELEM.make( _stateElem, 'a' )
|
304
|
+
@_monthMenu = ELEM.make( _stateElem, 'span' )#, 'a' )
|
290
305
|
_elems.push( @_monthMenu )
|
291
|
-
ELEM.setAttr( @_monthMenu, 'href', "javascript:HSystem.views[#{@viewId}].monthMenu()" )
|
306
|
+
# ELEM.setAttr( @_monthMenu, 'href', "javascript:HSystem.views[#{@viewId}].monthMenu()" )
|
307
|
+
Event.observe( ELEM.get( @_monthMenu ), 'click', ( -> _this.monthMenu() ), false )
|
292
308
|
ELEM.setHTML( @_monthMenu, @monthName( _date ) )
|
293
309
|
|
294
310
|
_spacer = ELEM.make( _stateElem, 'span' )
|
295
311
|
_elems.push( _spacer )
|
296
312
|
ELEM.setHTML( _spacer, ' ' )
|
297
313
|
|
298
|
-
@_yearMenu = ELEM.make( _stateElem, 'a' )
|
314
|
+
@_yearMenu = ELEM.make( _stateElem, 'span' )#, 'a' )
|
299
315
|
_elems.push( @_yearMenu )
|
300
|
-
ELEM.
|
316
|
+
Event.observe( ELEM.get( @_yearMenu ), 'click', ( -> _this.yearMenu() ), false )
|
317
|
+
# ELEM.setAttr( @_yearMenu, 'href', "javascript:HSystem.views[#{@viewId}].yearMenu()" )
|
301
318
|
ELEM.setHTML( @_yearMenu, @year( _date ) )
|
302
319
|
|
303
320
|
@viewMonth = [ _monthFirst.getUTCFullYear(), _monthFirst.getUTCMonth() ]
|
304
321
|
@_drawCalendarElems = _elems
|
305
|
-
)
|
306
322
|
|
307
323
|
HCalendar.implement( HDateTime )
|
@@ -11,9 +11,9 @@
|
|
11
11
|
</div>
|
12
12
|
<div class="calendar_control" id="control#{_ID}">
|
13
13
|
<div class="calendar_head">
|
14
|
-
<div class="calendar_head_prev_month"
|
14
|
+
<div class="calendar_head_prev_month" id="prevMonth#{_ID}"></div>
|
15
15
|
<div class="calender_head_month_year" id="state#{_ID}"></div>
|
16
|
-
<div class="calendar_head_next_month"
|
16
|
+
<div class="calendar_head_next_month" id="nextMonth#{_ID}"></div>
|
17
17
|
</div>
|
18
18
|
<div class="calendar_weekdays" id="label#{_ID}"></div>
|
19
19
|
<div class="calendar_weeks" id="value#{_ID}"></div>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
/*** = Description
|
10
10
|
** A Rect object represents a rectangle. Rects are used throughout the
|
11
|
-
** Components to define the frames of windows, views, bitmaps even the
|
11
|
+
** Components to define the frames of windows, views, bitmaps even the
|
12
12
|
** screen itself. A HRect is defined by its four sides, expressed as the public
|
13
13
|
** data members left, top, right, and bottom.
|
14
14
|
**
|
@@ -26,7 +26,7 @@
|
|
26
26
|
** +rightBottom+:: A HPoint representing the coordinate of the rect's right bottom corner
|
27
27
|
** +width+:: The width of the rect.
|
28
28
|
** +height+:: The height of the rect.
|
29
|
-
***/
|
29
|
+
***/
|
30
30
|
var//RSence.Foundation.Geom
|
31
31
|
HRect = HClass.extend({
|
32
32
|
/** = Description
|
@@ -35,7 +35,7 @@ HRect = HClass.extend({
|
|
35
35
|
* any initial values is invalid, until a specific assignment is made, either
|
36
36
|
* through a set() function or by setting the object's data members directly.
|
37
37
|
*
|
38
|
-
* = Parameters
|
38
|
+
* = Parameters
|
39
39
|
* using a HRect instance:
|
40
40
|
* +rect+:: Another HRect.
|
41
41
|
*
|
@@ -106,6 +106,29 @@ HRect = HClass.extend({
|
|
106
106
|
this.bottom = _rect.bottom;
|
107
107
|
this.right = _rect.right;
|
108
108
|
},
|
109
|
+
|
110
|
+
toArray: function(){
|
111
|
+
var
|
112
|
+
_arr = new Array(6,null),
|
113
|
+
_this = this,
|
114
|
+
_view = HSystem.views[_this.viewIds[0]],
|
115
|
+
_parentSize = _view.parentSize();
|
116
|
+
if( _view && ( _view.flexRight || _view.flexBottom ) ){
|
117
|
+
if(_this.viewIds.length > 1){
|
118
|
+
console.log("warning: HRect#toArray doesn't work reliably with several views bound.");
|
119
|
+
}
|
120
|
+
_arr[0] = _view.flexLeft?_this.left:null;
|
121
|
+
_arr[1] = _view.flexTop?_this.top:null;
|
122
|
+
_arr[2] = ( _view.minWidth !== 0 )?_view.minWidth:null;
|
123
|
+
_arr[3] = ( _view.minHeight !== 0 )?_view.minHeight:null;
|
124
|
+
_arr[4] = _view.flexRight?_view.flexRightOffset:null;
|
125
|
+
_arr[5] = _view.flexBottom?_view.flexBottomOffset:null;
|
126
|
+
return _arr;
|
127
|
+
}
|
128
|
+
else {
|
129
|
+
return [ _this.left, _this.top, _this.width, _this.height ];
|
130
|
+
}
|
131
|
+
},
|
109
132
|
|
110
133
|
_updateFlexibleDimensions: function(){
|
111
134
|
var
|
@@ -115,44 +138,55 @@ HRect = HClass.extend({
|
|
115
138
|
_parentSize,
|
116
139
|
_parentWidth,
|
117
140
|
_parentHeight,
|
141
|
+
_virtualWidth,
|
142
|
+
_virtualHeight,
|
118
143
|
_viewId,
|
119
|
-
_view
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
// console.log('parentSize:',JSON.stringify(_parentSize));
|
133
|
-
_parentWidth = _parentSize[0];
|
134
|
-
if(_view.flexRight){
|
135
|
-
_this.right = _parentWidth - _view.flexRightOffset;
|
136
|
-
}
|
137
|
-
if(!_view.flexLeft){
|
138
|
-
_this.left = _this.right - _this.width;
|
139
|
-
}
|
140
|
-
_parentHeight = _parentSize[1];
|
141
|
-
if(_view.flexBottom){
|
142
|
-
_this.bottom = _parentHeight - _view.flexBottomOffset - _this.top;
|
144
|
+
_view;
|
145
|
+
if(_this.viewIds.length > 1){
|
146
|
+
console.log("warning: HRect#_updateFlexibleDimensions doesn't work reliably with several views bound.");
|
147
|
+
}
|
148
|
+
_viewId = _viewIds[0];
|
149
|
+
_view = HSystem.views[_viewId];
|
150
|
+
if(_view.flexRight || _view.flexBottom){
|
151
|
+
ELEM.flush();
|
152
|
+
_parentSize = _view.parentSize();
|
153
|
+
if( _view.flexRight && _view.flexLeft ){ // calculate width and right
|
154
|
+
_virtualWidth = _parentSize[0] - _this.left - _view.flexRightOffset;
|
155
|
+
if( _view.minWidth !== null && _virtualWidth < _view.minWidth ){
|
156
|
+
_this.width = _view.minWidth;
|
143
157
|
}
|
144
|
-
|
145
|
-
_this.
|
158
|
+
else{
|
159
|
+
_this.width = _virtualWidth;
|
146
160
|
}
|
147
|
-
|
148
|
-
|
161
|
+
_this.right = _this.left+_this.width;
|
162
|
+
}
|
163
|
+
else if( _view.flexRight ){ // calculate left and right
|
164
|
+
_this.width = _view.minWidth;
|
165
|
+
_this.left = _parentSize[0] - _this.width - _view.flexRightOffset;
|
166
|
+
_this.right = _this.width + _this.left;
|
167
|
+
}
|
168
|
+
else { // calculate width
|
169
|
+
_this.width = _this.right - _this.left;
|
170
|
+
}
|
171
|
+
if( _view.flexTop && _view.flexBottom ){ // calculate height and bottom
|
172
|
+
_virtualHeight = _parentSize[1] - _this.top - _view.flexBottomOffset;
|
173
|
+
if( _view.minHeight !== null && _virtualHeight < _view.minHeight ){
|
174
|
+
_this.height = _view.minHeight;
|
149
175
|
}
|
150
|
-
|
151
|
-
_this.
|
176
|
+
else{
|
177
|
+
_this.height = _virtualHeight;
|
152
178
|
}
|
153
|
-
|
154
|
-
|
179
|
+
_this.bottom = _this.top+_this.height;
|
180
|
+
}
|
181
|
+
else if( _view.flexBottom ){ // calculate top and bottom
|
182
|
+
_this.height = _view.minHeight;
|
183
|
+
_this.top = _parentSize[1] - _this.height - _view.flexBottomOffset;
|
184
|
+
_this.bottom = _this.height + _this.top;
|
185
|
+
}
|
186
|
+
else { // calculate height
|
187
|
+
_this.height = _this.bottom - _this.top;
|
155
188
|
}
|
189
|
+
_this.updateSecondaryValues( true );
|
156
190
|
}
|
157
191
|
},
|
158
192
|
|
@@ -166,7 +200,7 @@ HRect = HClass.extend({
|
|
166
200
|
* Use the accompanied methods instead.
|
167
201
|
*
|
168
202
|
**/
|
169
|
-
updateSecondaryValues: function() {
|
203
|
+
updateSecondaryValues: function(_noSize) {
|
170
204
|
|
171
205
|
// this._updateFlexibleDimensions();
|
172
206
|
|
@@ -181,7 +215,7 @@ HRect = HClass.extend({
|
|
181
215
|
/**
|
182
216
|
*
|
183
217
|
* The Point-returning functions return the coordinates of one of the
|
184
|
-
* rectangle's four corners.
|
218
|
+
* rectangle's four corners.
|
185
219
|
**/
|
186
220
|
this.leftTop = new HPoint(this.left, this.top);
|
187
221
|
this.leftBottom = new HPoint(this.left, this.bottom);
|
@@ -192,8 +226,10 @@ HRect = HClass.extend({
|
|
192
226
|
* The width and height of a Rect's rectangle, as returned through these
|
193
227
|
* properties.
|
194
228
|
**/
|
195
|
-
|
196
|
-
|
229
|
+
if(!_noSize){
|
230
|
+
this.width = (this.right - this.left);
|
231
|
+
this.height = (this.bottom - this.top);
|
232
|
+
}
|
197
233
|
},
|
198
234
|
|
199
235
|
/** = Description
|
@@ -363,7 +399,7 @@ HRect = HClass.extend({
|
|
363
399
|
/** = Description
|
364
400
|
* Moves the rects right and bottom sides to new coordinates. Does not affect the position.
|
365
401
|
*
|
366
|
-
* = Parameters
|
402
|
+
* = Parameters
|
367
403
|
* by separate numeric values:
|
368
404
|
* +_width+:: A numeric value representing the new target width of the rect.
|
369
405
|
* +_height+:: A numeric value representing the new target height of the rect.
|
@@ -391,7 +427,7 @@ HRect = HClass.extend({
|
|
391
427
|
},
|
392
428
|
|
393
429
|
/** = Description
|
394
|
-
* Returns true if the Rect has any area even a corner or part
|
430
|
+
* Returns true if the Rect has any area even a corner or part
|
395
431
|
* of a side in common with rect, and false if it doesn't.
|
396
432
|
*
|
397
433
|
* = Parameters
|
@@ -414,7 +450,7 @@ HRect = HClass.extend({
|
|
414
450
|
return (
|
415
451
|
( ( _rect.left >= this.left && _rect.left <= this.right ) ||
|
416
452
|
( _rect.right >= this.left && _rect.right <= this.right )
|
417
|
-
) &&
|
453
|
+
) &&
|
418
454
|
( ( _rect.top >= this.top && _rect.top <= this.bottom) ||
|
419
455
|
( _rect.bottom >= this.top && _rect.bottom <= this.bottom)
|
420
456
|
)
|
@@ -467,12 +503,12 @@ HRect = HClass.extend({
|
|
467
503
|
* left side moves (to the right) four units and the right side moves (to the
|
468
504
|
* left) four units (and similarly with the top and bottom).
|
469
505
|
*
|
470
|
-
* = Parameters
|
506
|
+
* = Parameters
|
471
507
|
* using a HPoint:
|
472
508
|
* +point+:: A HPoint to inset by.
|
473
509
|
*
|
474
510
|
* using separate x and y coordinates:
|
475
|
-
* +x+:: x Coordinate
|
511
|
+
* +x+:: x Coordinate
|
476
512
|
* +y+:: y Coordinate
|
477
513
|
*
|
478
514
|
**/
|
@@ -501,7 +537,7 @@ HRect = HClass.extend({
|
|
501
537
|
* Moves the Rect horizontally by x units and vertically by y
|
502
538
|
* units. The rectangle's size doesn't change.
|
503
539
|
*
|
504
|
-
* = Parameters
|
540
|
+
* = Parameters
|
505
541
|
* using a HPoint:
|
506
542
|
* +point+:: A HPoint to offset by.
|
507
543
|
*
|
@@ -534,12 +570,12 @@ HRect = HClass.extend({
|
|
534
570
|
/** = Description
|
535
571
|
* Moves the Rect to the location (x,y).
|
536
572
|
*
|
537
|
-
* = Parameters
|
573
|
+
* = Parameters
|
538
574
|
* using a HPoint:
|
539
575
|
* +point+:: A HPoint to offset to.
|
540
576
|
*
|
541
577
|
* using separate x and y coordinates):
|
542
|
-
* +x+:: X coordinate
|
578
|
+
* +x+:: X coordinate
|
543
579
|
* +y+:: Y coordinate
|
544
580
|
*
|
545
581
|
**/
|
@@ -289,6 +289,9 @@ HThemeManager = HClass.extend({
|
|
289
289
|
if (null === _markup || undefined === _markup) {
|
290
290
|
_markup = "";
|
291
291
|
}
|
292
|
+
if( this._tmplCache[_themeName] === undefined ){
|
293
|
+
this._tmplCache[_themeName] = {};
|
294
|
+
}
|
292
295
|
this._tmplCache[_themeName][_componentName] = _markup;
|
293
296
|
return _markup;
|
294
297
|
},
|
data/js/foundation/view/view.js
CHANGED
@@ -541,6 +541,8 @@ HView = HClass.extend({
|
|
541
541
|
**/
|
542
542
|
_makeElem: function(_parentElemId){
|
543
543
|
this.elemId = ELEM.make(_parentElemId,'div');
|
544
|
+
ELEM.setAttr( this.elemId, 'view_id', this.viewId );
|
545
|
+
ELEM.setAttr( this.elemId, 'elem_id', this.elemId );
|
544
546
|
},
|
545
547
|
|
546
548
|
/** --
|
@@ -613,10 +615,10 @@ HView = HClass.extend({
|
|
613
615
|
*
|
614
616
|
**/
|
615
617
|
drawRect: function() {
|
616
|
-
if(!this.rect.isValid){
|
618
|
+
if(!this.rect.isValid && !this.isProduction){
|
617
619
|
console.log('invalid rect:',this.rect);//,ELEM.get(this.elemId));
|
618
620
|
}
|
619
|
-
if(!this.parent){
|
621
|
+
if(!this.parent && !this.isProduction){
|
620
622
|
console.log('no parent:',ELEM.get(this.elemId));
|
621
623
|
}
|
622
624
|
if (this.parent && this.rect.isValid) {
|
@@ -759,7 +761,7 @@ HView = HClass.extend({
|
|
759
761
|
_themeName = HThemeManager.currentTheme;
|
760
762
|
}
|
761
763
|
_markup = HThemeManager.getMarkup( _themeName, this.componentName, this.themePath );
|
762
|
-
if(_markup === false){
|
764
|
+
if(_markup === false && !this.isProduction){
|
763
765
|
console.log('Warning: Markup template for "'+this.componentName+'" using theme "'+_themeName+'" not loaded.');
|
764
766
|
}
|
765
767
|
this.markup = _markup;
|
@@ -925,13 +927,23 @@ HView = HClass.extend({
|
|
925
927
|
|
926
928
|
minWidth: 0,
|
927
929
|
setMinWidth: function(_minWidth){
|
928
|
-
|
929
|
-
|
930
|
+
if( typeof _minWidth === 'number' ){
|
931
|
+
this.minWidth = _minWidth;
|
932
|
+
ELEM.setStyle( this.elemId, 'min-width', this.minWidth+'px', true);
|
933
|
+
}
|
934
|
+
else if ( !this.isProduction) {
|
935
|
+
console.log('warning: setMinWidth( '+(typeof _minWidth)+' '+_minWidth+' ) should be a number; value ignored!');
|
936
|
+
}
|
930
937
|
},
|
931
938
|
minHeight: 0,
|
932
939
|
setMinHeight: function(_minHeight){
|
933
|
-
|
934
|
-
|
940
|
+
if( typeof _minHeight === 'number' ){
|
941
|
+
this.minHeight = _minHeight;
|
942
|
+
ELEM.setStyle( this.elemId, 'min-height', this.minHeight+'px', true);
|
943
|
+
}
|
944
|
+
else if ( !this.isProduction) {
|
945
|
+
console.log('warning: setMinHeight( '+(typeof _minHeight)+' '+_minHeight+' ) should be a number; value ignored!');
|
946
|
+
}
|
935
947
|
},
|
936
948
|
|
937
949
|
/** = Description
|
@@ -981,33 +993,54 @@ HView = HClass.extend({
|
|
981
993
|
_parentHeight = _parentSize[1];
|
982
994
|
}
|
983
995
|
|
984
|
-
if(
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
996
|
+
if( !this.isProduction ){
|
997
|
+
if( (!_validLeftOffset && !_validRightOffset) ||
|
998
|
+
(!_validTopOffset && !_validBottomOffset) ){
|
999
|
+
console.log(_throwPrefix + '(left or top) and (top or bottom) must be specified.');
|
1000
|
+
}
|
1001
|
+
else if( (!_validWidth && !(_validLeftOffset && _validRightOffset)) ||
|
1002
|
+
(!_validHeight && !(_validTopOffset && _validBottomOffset)) ){
|
1003
|
+
console.log(_throwPrefix + 'the (height or width) must be specified unless both (left and top) or (top and bottom) are specified.');
|
1004
|
+
}
|
991
1005
|
}
|
992
1006
|
|
993
|
-
this.setFlexLeft(_validLeftOffset,_leftOffset);
|
994
|
-
this.setFlexTop(_validTopOffset,_topOffset);
|
995
|
-
this.setFlexRight(_validRightOffset,_rightOffset);
|
996
|
-
this.setFlexBottom(_validBottomOffset,_bottomOffset);
|
997
|
-
|
998
1007
|
if(_validLeftOffset && _validWidth && !_validRightOffset){
|
999
1008
|
_right = _leftOffset + _width;
|
1000
1009
|
}
|
1001
1010
|
else if(!_validLeftOffset && _validWidth && _validRightOffset){
|
1002
1011
|
_right = _parentWidth-_validRightOffset;
|
1003
1012
|
_leftOffset = _right-_width;
|
1013
|
+
this.setMinWidth( _width );
|
1004
1014
|
}
|
1005
1015
|
else if(_validLeftOffset && _validRightOffset){
|
1006
1016
|
_right = _parentWidth - _rightOffset;
|
1007
1017
|
if( _validWidth ){
|
1008
1018
|
this.setMinWidth( _width );
|
1019
|
+
if( _parentWidth - _leftOffset < _width ){
|
1020
|
+
if( !this.isProduction ){
|
1021
|
+
console.log('warning: the minWidth('+
|
1022
|
+
_width+
|
1023
|
+
') is less than available width('+
|
1024
|
+
(_parentWidth-_leftOffset-_rightOffset)+
|
1025
|
+
'); right ('+_right+') yields to: '+_leftOffset+_width+'!');
|
1026
|
+
}
|
1027
|
+
_right = _leftOffset+_width;
|
1028
|
+
}
|
1029
|
+
}
|
1030
|
+
else if ( _right < _leftOffset ) {
|
1031
|
+
if( !this.isProduction ){
|
1032
|
+
console.log('warning: there is not enough width ('+
|
1033
|
+
_parentWidth+') to fit flexRightOffset ('+
|
1034
|
+
_rightOffset+
|
1035
|
+
') and left ('+
|
1036
|
+
_leftOffset+
|
1037
|
+
'). right yields to ('+
|
1038
|
+
_leftOffset+') and flexRightOffset yields to ('+
|
1039
|
+
(_parentWidth-_leftOffset)+')!');
|
1040
|
+
}
|
1041
|
+
_rightOffset = _parentWidth-_leftOffset;
|
1042
|
+
_right = _leftOffset;
|
1009
1043
|
}
|
1010
|
-
_right = _parentWidth - _rightOffset;
|
1011
1044
|
}
|
1012
1045
|
|
1013
1046
|
if(_validTopOffset && _validHeight && !_validBottomOffset){
|
@@ -1016,13 +1049,37 @@ HView = HClass.extend({
|
|
1016
1049
|
else if(!_validTopOffset && _validHeight && _validBottomOffset){
|
1017
1050
|
_bottom = _parentHeight-_validBottomOffset;
|
1018
1051
|
_topOffset = _bottom-_height;
|
1052
|
+
this.setMinHeight( _height );
|
1019
1053
|
}
|
1020
1054
|
else if(_validTopOffset && _validBottomOffset){
|
1021
1055
|
_bottom = _parentHeight - _bottomOffset;
|
1022
1056
|
if( _validHeight ){
|
1023
1057
|
this.setMinHeight( _height );
|
1058
|
+
if( _parentHeight - _topOffset < _height ){
|
1059
|
+
if( !this.isProduction ){
|
1060
|
+
console.log('warning: the minHeight('+
|
1061
|
+
_height+
|
1062
|
+
') is less than available height('+
|
1063
|
+
(_parentHeight-_topOffset-_bottom)+
|
1064
|
+
'). bottom('+_bottom+') yields: '+(_topOffset + _height)+'!');
|
1065
|
+
}
|
1066
|
+
_bottom = _topOffset + _height;
|
1067
|
+
}
|
1068
|
+
}
|
1069
|
+
else if ( _bottom < _topOffset ) {
|
1070
|
+
if( !this.isProduction ){
|
1071
|
+
console.log('warning: there is not enough height ('+
|
1072
|
+
_parentHeight+') to fit flexBottomOffset ('+
|
1073
|
+
_bottom+
|
1074
|
+
') and bottom ('+
|
1075
|
+
_bottomOffset+
|
1076
|
+
') bottom yields to ('+
|
1077
|
+
_topOffset+') and flexBottomOffset yields to ('+
|
1078
|
+
(_parentHeight-_topOffset)+')!');
|
1079
|
+
}
|
1080
|
+
_bottomOffset = _parentHeight-_topOffset;
|
1081
|
+
_bottom = _topOffset;
|
1024
1082
|
}
|
1025
|
-
_bottom = _parentHeight - _bottomOffset;
|
1026
1083
|
}
|
1027
1084
|
if( _leftOffset > _right ){
|
1028
1085
|
_right = _leftOffset;
|
@@ -1030,8 +1087,14 @@ HView = HClass.extend({
|
|
1030
1087
|
if( _topOffset > _bottom ){
|
1031
1088
|
_bottom = _topOffset;
|
1032
1089
|
}
|
1090
|
+
this.setMinWidth(this.minWidth);
|
1091
|
+
this.setMinHeight(this.minHeight);
|
1092
|
+
this.setFlexLeft(_validLeftOffset,_leftOffset);
|
1093
|
+
this.setFlexTop(_validTopOffset,_topOffset);
|
1094
|
+
this.setFlexRight(_validRightOffset,_rightOffset);
|
1095
|
+
this.setFlexBottom(_validBottomOffset,_bottomOffset);
|
1033
1096
|
this.rect = HRect.nu(_leftOffset,_topOffset,_right,_bottom);
|
1034
|
-
if(!this.rect.isValid){
|
1097
|
+
if(!this.rect.isValid && !this.isProduction){
|
1035
1098
|
console.log('---------------------------------------------');
|
1036
1099
|
console.log('invalid rect:', this.rect.left, ',', this.rect.top, ',', this.rect.width, ',', this.rect.height, ',', this.rect.right, ',', this.rect.bottom );
|
1037
1100
|
console.log(' parent size:', this.parentSize() );
|
@@ -1040,7 +1103,7 @@ HView = HClass.extend({
|
|
1040
1103
|
}
|
1041
1104
|
|
1042
1105
|
}
|
1043
|
-
else {
|
1106
|
+
else if (!this.isProduction){
|
1044
1107
|
console.log(_throwPrefix + 'the length has to be either 4 or 6.');
|
1045
1108
|
}
|
1046
1109
|
}
|
@@ -1080,7 +1143,7 @@ HView = HClass.extend({
|
|
1080
1143
|
else if(_stylesObjType==='h'){
|
1081
1144
|
this.setStylesHash(_styles);
|
1082
1145
|
}
|
1083
|
-
else {
|
1146
|
+
else if (!this.isProduction){
|
1084
1147
|
console.log('HView#setStyles: Invalid data, expected array or hash; type: '+h+', data:',_styles);
|
1085
1148
|
}
|
1086
1149
|
return this;
|
@@ -1141,10 +1204,10 @@ HView = HClass.extend({
|
|
1141
1204
|
**/
|
1142
1205
|
setStyleOfPart: function(_partName, _name, _value, _force) {
|
1143
1206
|
if (!this['markupElemIds']){
|
1144
|
-
console.log('Warning, setStyleOfPart: no markupElemIds');
|
1207
|
+
!this.isProduction && console.log('Warning, setStyleOfPart: no markupElemIds');
|
1145
1208
|
}
|
1146
1209
|
else if (this.markupElemIds[_partName]===undefined) {
|
1147
|
-
console.log('Warning, setStyleOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1210
|
+
!this.isProduction && console.log('Warning, setStyleOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1148
1211
|
}
|
1149
1212
|
else {
|
1150
1213
|
ELEM.setStyle(this.markupElemIds[_partName], _name, _value, _force);
|
@@ -1166,7 +1229,7 @@ HView = HClass.extend({
|
|
1166
1229
|
**/
|
1167
1230
|
styleOfPart: function(_partName, _name, _force) {
|
1168
1231
|
if (this.markupElemIds[_partName]===undefined) {
|
1169
|
-
console.log('Warning, styleOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1232
|
+
!this.isProduction && console.log('Warning, styleOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1170
1233
|
return '';
|
1171
1234
|
}
|
1172
1235
|
return ELEM.getStyle(this.markupElemIds[_partName], _name, _force);
|
@@ -1186,7 +1249,7 @@ HView = HClass.extend({
|
|
1186
1249
|
**/
|
1187
1250
|
setMarkupOfPart: function( _partName, _value ) {
|
1188
1251
|
if (this.markupElemIds[_partName]===undefined) {
|
1189
|
-
console.log('Warning, setMarkupOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1252
|
+
!this.isProduction && console.log('Warning, setMarkupOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1190
1253
|
}
|
1191
1254
|
else {
|
1192
1255
|
ELEM.setHTML( this.markupElemIds[_partName], _value );
|
@@ -1207,30 +1270,64 @@ HView = HClass.extend({
|
|
1207
1270
|
**/
|
1208
1271
|
markupOfPart: function(_partName) {
|
1209
1272
|
if (this.markupElemIds[_partName]===undefined) {
|
1210
|
-
console.log('Warning, markupOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1273
|
+
!this.isProduction && console.log('Warning, markupOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1211
1274
|
return '';
|
1212
1275
|
}
|
1213
1276
|
return ELEM.getHTML(this.markupElemIds[_partName]);
|
1214
1277
|
},
|
1215
1278
|
|
1279
|
+
/** = Description
|
1280
|
+
* Sets a element attribute of the view's cell.
|
1281
|
+
*
|
1282
|
+
* = Parameters
|
1283
|
+
* +_key+:: The attribute key to set.
|
1284
|
+
* +_value+:: Value for markup element.
|
1285
|
+
* +_force+:: Optional force switch, defaults to false
|
1286
|
+
*
|
1287
|
+
* = Returns
|
1288
|
+
* +self+
|
1289
|
+
*
|
1290
|
+
**/
|
1291
|
+
setAttr: function( _key, _value, _force ){
|
1292
|
+
ELEM.setAttr( this.elemId, _key, _value, _force );
|
1293
|
+
return this;
|
1294
|
+
},
|
1295
|
+
|
1296
|
+
/** = Description
|
1297
|
+
* Gets a element attribute of the view's cell.
|
1298
|
+
*
|
1299
|
+
* = Parameters
|
1300
|
+
* +_key+:: The attribute key to get.
|
1301
|
+
* +_force+:: Optional force switch, defaults to false
|
1302
|
+
*
|
1303
|
+
* = Returns
|
1304
|
+
* The attribute value.
|
1305
|
+
*
|
1306
|
+
**/
|
1307
|
+
attr: function( _key, _force ){
|
1308
|
+
return ELEM.getAttr( this.elemId, _key, _force );
|
1309
|
+
},
|
1310
|
+
|
1216
1311
|
/** = Description
|
1217
1312
|
* Sets a element attribute of a specified markup element that has been bound to this
|
1218
1313
|
* view.
|
1219
1314
|
*
|
1220
1315
|
* = Parameters
|
1221
1316
|
* +_partName+:: The identifier of the markup element.
|
1317
|
+
* +_key+:: The attribute key to set
|
1222
1318
|
* +_value+:: Value for markup element.
|
1319
|
+
* +_force+:: Optional force switch, defaults to false
|
1223
1320
|
*
|
1224
1321
|
* = Returns
|
1225
1322
|
* +self+
|
1226
1323
|
*
|
1227
1324
|
**/
|
1228
|
-
setAttrOfPart: function( _partName, _value, _force ) {
|
1325
|
+
setAttrOfPart: function( _partName, _key, _value, _force ) {
|
1229
1326
|
if (this.markupElemIds[_partName]===undefined) {
|
1230
|
-
console.log('Warning, setAttrOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1327
|
+
!this.isProduction && console.log('Warning, setAttrOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1231
1328
|
}
|
1232
1329
|
else {
|
1233
|
-
ELEM.setAttr( this.markupElemIds[_partName], _value, _force );
|
1330
|
+
ELEM.setAttr( this.markupElemIds[_partName], _key, _value, _force );
|
1234
1331
|
}
|
1235
1332
|
return this;
|
1236
1333
|
},
|
@@ -1241,17 +1338,19 @@ HView = HClass.extend({
|
|
1241
1338
|
*
|
1242
1339
|
* = Parameters
|
1243
1340
|
* +_partName+:: The identifier of the markup element.
|
1341
|
+
* +_key+:: The attribute key to get.
|
1342
|
+
* +_force+:: Optional force switch, defaults to false
|
1244
1343
|
*
|
1245
1344
|
* = Returns
|
1246
1345
|
* The attribute of a specified markup element.
|
1247
1346
|
*
|
1248
1347
|
**/
|
1249
|
-
attrOfPart: function(_partName, _force) {
|
1348
|
+
attrOfPart: function(_partName, _key, _force) {
|
1250
1349
|
if (this.markupElemIds[_partName]===undefined) {
|
1251
|
-
console.log('Warning, attrOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1350
|
+
!this.isProduction && console.log('Warning, attrOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1252
1351
|
return '';
|
1253
1352
|
}
|
1254
|
-
return ELEM.getAttr(this.markupElemIds[_partName], _force);
|
1353
|
+
return ELEM.getAttr(this.markupElemIds[_partName], _key, _force);
|
1255
1354
|
},
|
1256
1355
|
|
1257
1356
|
/** = Description
|
@@ -1267,7 +1366,7 @@ HView = HClass.extend({
|
|
1267
1366
|
**/
|
1268
1367
|
elemOfPart: function(_partName) {
|
1269
1368
|
if (this.markupElemIds[_partName]===undefined) {
|
1270
|
-
console.log('Warning, elemOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1369
|
+
!this.isProduction && console.log('Warning, elemOfPart: partName "'+_partName+'" does not exist for viewId '+this.viewId+'.');
|
1271
1370
|
return '';
|
1272
1371
|
}
|
1273
1372
|
return ELEM.get( this.markupElemIds[_partName] );
|
@@ -1362,7 +1461,7 @@ HView = HClass.extend({
|
|
1362
1461
|
this.stopAnimation();
|
1363
1462
|
// Delete the children first.
|
1364
1463
|
var _childViewId, i;
|
1365
|
-
if(!this.views){
|
1464
|
+
if(!this.views && !this.isProduction){
|
1366
1465
|
console.log('HView#die: no subviews for component name: ',this.componentName,', self:',this);
|
1367
1466
|
}
|
1368
1467
|
while (this.views.length !== 0) {
|