- /**
- Block property is a singleton Backbone view that represents shared UI view for all Blocks (Channels and Scenes blocks).
- It lives inside PropertiesViews
- @class BlockProperties
- @constructor
- @return {object} instantiated BlockProperties
- **/
- define(['jquery', 'backbone', 'Knob', 'nouislider', 'gradient', 'spinner', 'FontSelector', 'RSSLinks', 'MRSSLinks', 'BarMeterView', 'timepicker', 'datepicker', 'bootstrap-table-editable', 'bootstrap-table-sort-rows', 'LiveInput'], function ($, Backbone, Knob, nouislider, gradient, spinner, FontSelector, RSSLinks, MRSSLinks, BarMeterView, timepicker, datepicker, bootstraptableeditable, bootstraptablesortrows, LiveInput) {
-
- /**
- Custom event fired when a gradient color picked
- @event COLOR_SELECTED
- @param {this} caller
- @param {self} context caller
- @param {Event} event
- @static
- @final
- **/
- BB.EVENTS.GRADIENT_COLOR_CHANGED = 'GRADIENT_COLOR_CHANGED';
-
- /**
- Custom YouTube event fired when bar meter changed event
- @event YOUTUBE_METER_QUALITY_CHANGED
- @param {This} caller
- @param {Self} context caller
- @param {Event}
- @static
- @final
- **/
- BB.EVENTS.YOUTUBE_METER_QUALITY_CHANGED = 'YOUTUBE_METER_QUALITY_CHANGED';
-
-
- /**
- Custom Location priority event fired when bar meter changed event
- @event LOCATION_PRIORITY_METER_CHANGED
- @param {This} caller
- @param {Self} context caller
- @param {Event}
- @static
- @final
- **/
- BB.EVENTS.LOCATION_PRIORITY_METER_CHANGED = 'LOCATION_PRIORITY_METER_CHANGED';
-
-
- /**
- Custom event fired when gradient color selection picker closed
- @event GRADIENT_COLOR_CLOSED
- @param {this} caller
- @param {self} context caller
- @param {Event} event
- @static
- @final
- **/
- BB.EVENTS.GRADIENT_COLOR_CLOSED = 'GRADIENT_COLOR_CLOSED';
-
- /**
- event fires when fasterq background color changed
- @event Block.FASTERQ_BG_COLOR_CHANGE
- @param {this} caller
- @param {String} selected block_id
- **/
- BB.EVENTS.FASTERQ_BG_COLOR_CHANGE = 'FASTERQ_BG_COLOR_CHANGE';
-
- /**
- event fires when block length is changing (requesting a change), normally by a knob property widget
- @event BLOCK_LENGTH_CHANGING
- @param {Object} this
- @param {Object} caller the firing knob element
- @param {Number} value the knob's position value (hours / minutes / seconds)
- **/
- BB.EVENTS.BLOCK_LENGTH_CHANGING = 'BLOCK_LENGTH_CHANGING';
-
- /**
- event fires when background alpha changed
- @event ALPHA_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.ALPHA_CHANGED = 'ALPHA_CHANGED';
-
- /**
- event fires when video volume changed
- @event VIDEO_VOLUME_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.VIDEO_VOLUME_CHANGED = 'VIDEO_VOLUME_CHANGED';
-
- /**
- event fires when youtube volume changed
- @event YOUTUBE_VOLUME_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.YOUTUBE_VOLUME_CHANGED = 'YOUTUBE_VOLUME_CHANGED';
-
- /**
- event fires when radius of location changed
- @event LOCATION_RADIUS_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.LOCATION_RADIUS_CHANGED = 'LOCATION_RADIUS_CHANGED';
-
- /**
- event fires datagrid collection is dragged
- @event COLLECTION_ROW_DRAG
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.COLLECTION_ROW_DRAG = 'COLLECTION_ROW_DRAG';
-
- /**
- event fires datagrid collection is dropped
- @event COLLECTION_ROW_DROP
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.COLLECTION_ROW_DROP = 'COLLECTION_ROW_DROP';
-
- /**
- event fires datagrid collection data changed / saved
- @event COLLECTION_ROW_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.COLLECTION_ROW_CHANGED = 'COLLECTION_ROW_CHANGED';
-
- /**
- event fires datagrid collection event data chnaged / saved
- @event COLLECTION_EVENT_ROW_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.COLLECTION_EVENT_ROW_CHANGED = 'COLLECTION_EVENT_ROW_CHANGED';
-
- /**
- event fires datagrid location row is dragged
- @event LOCATION_ROW_DRAG
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.LOCATION_ROW_DRAG = 'LOCATION_ROW_DRAG';
-
- /**
- event fires datagrid location row is dropped
- @event LOCATION_ROW_DROP
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.LOCATION_ROW_DROP = 'LOCATION_ROW_DROP';
-
- /**
- event fires datagrid location row data changed / saved
- @event LOCATION_ROW_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.LOCATION_ROW_CHANGED = 'LOCATION_ROW_CHANGED';
-
- /**
- event fires when location live input value chanegs such as LAT/LNG/resource names
- @event LOCATION_LIVE_INPUT_CHANGED
- @param {Object} this
- @param {Object} caller the firing element
- @param {Number} alpha value
- **/
- BB.EVENTS.LOCATION_LIVE_INPUT_CHANGED = 'LOCATION_LIVE_INPUT_CHANGED';
-
-
- /**
- event fires when new location point adding to google maps
- @event Block.ADD_LOCATION_POINT
- @param {this} caller
- @param {String} selected block_id
- **/
- BB.EVENTS.ADD_LOCATION_POINT = 'ADD_LOCATION_POINT';
-
- BB.SERVICES.BLOCK_PROPERTIES = 'BlockProperties';
-
- var BlockProperties = BB.View.extend({
-
- /**
- Constructor
- @method initialize
- **/
- initialize: function () {
- var self = this;
-
- BB.comBroker.setService(BB.SERVICES.BLOCK_PROPERTIES, self);
-
- this.m_property = BB.comBroker.getService(BB.SERVICES['PROPERTIES_VIEW']);
- self.m_property.initPanel(Elements.BLOCK_PROPERTIES);
- self.m_rssFontSelector = undefined;
- self.m_loadedOnceCollectionDatagrid = false;
- self.m_loadedOnceJsonDatagrid = false;
- self.m_loadedOnceLocationDatagrid = false;
-
- self._alphaSliderInit();
- self._bgGradientInit();
- self._bgSceneInit();
- self._bgFasterQColorInit();
- self._borderSceneColorInit();
- self._propLengthKnobsInit();
- self._videoVolumeSliderInit();
- self._youtubeVolumeSliderInit();
- self._youtubeInit();
- self._locationLiveInputs();
- self._locationRadiusSliderInit();
- self._locationPriorityInit();
- self._rssFontSelectorInit();
- self._rssSourceSelectorInit();
- self._mrssSourceSelectorInit();
- self._timepickerDayDurationInit();
- self._datepickerDayDurationInit();
- self._rssPollTimeInit();
- self._fasterQInit();
- self._labelFontSelectorInit();
- self._jsonItemFontSelectorInit();
- self._twitterFontSelectorInit();
- self._labelClockFontSelectorInit();
- },
-
- /**
- Init alpha slider UI in the common properties
- @method _alphaSliderInit
- **/
- _alphaSliderInit: function () {
- var self = this;
- $(Elements.BLOCK_ALPHA_SLIDER).noUiSlider({
- handles: 1,
- start: 100,
- step: 1,
- range: [0, 100],
- serialization: {
- to: [$(Elements.BLOCK_ALPHA_LABEL), 'text']
- }
- });
- self.m_blockAlphaHandler = $(Elements.BLOCK_ALPHA_SLIDER).on('change', function (e) {
- var alpha = parseFloat($(Elements.BLOCK_ALPHA_SLIDER).val()) / 100;
- BB.comBroker.fire(BB.EVENTS.ALPHA_CHANGED, this, self, alpha)
- return false;
- });
- },
-
- /**
- Load jquery gradient component once
- @method _bgGradientInit
- **/
- _bgGradientInit: function () {
- var self = this;
-
- var lazyUpdateBgColor = _.debounce(function (points, styles) {
- if (points.length == 0)
- return;
- BB.comBroker.fire(BB.EVENTS.GRADIENT_COLOR_CHANGED, self, null, {points: points, styles: styles});
- }, 50);
-
- var gradientColorPickerClosed = function () {
- log('render gradient');
- BB.comBroker.fire(BB.EVENTS.GRADIENT_COLOR_CLOSED, self, null);
- };
-
- $(Elements.BG_COLOR_GRADIENT_SELECTOR).gradientPicker({
- change: lazyUpdateBgColor,
- closed: gradientColorPickerClosed,
- fillDirection: "90deg"
- });
-
- // always close gradient color picker on mouseout
- $('.colorpicker').on('mouseleave', function (e) {
- $(document).trigger('mousedown');
- BB.comBroker.fire(BB.EVENTS.GRADIENT_COLOR_CLOSED, self, self);
- });
-
- // to destroy the plugin instance
- // gradient = {}; $(Elements.BG_COLOR_GRADIENT_SELECTOR).remove();
- },
-
- /**
- Init the scene background selector
- @method _bgSceneInit
- **/
- _bgSceneInit: function () {
- var self = this;
- var colorSettings = {
- animationSpeed: 50,
- animationEasing: 'swing',
- change: $.proxy(self._onSceneBgColorSelected, self),
- changeDelay: 100,
- control: 'hue',
- value: '#ffffff',
- defaultValue: '#428bca',
- show: $.proxy(self._onSceneColorToggle, self),
- hide: $.proxy(self._onSceneColorToggle, self),
- hideSpeed: 100,
- inline: false,
- letterCase: 'lowercase',
- opacity: false,
- position: 'bottom left',
- showSpeed: 100,
- theme: 'bootstrap'
- };
- $(Elements.SCENE_BACKGROUND_SELECTOR).minicolors(colorSettings);
- },
-
- /**
- Init the fasterq background color selector
- @method _bgFasterQColorInit
- **/
- _bgFasterQColorInit: function () {
- var self = this;
- // show: $.proxy(self._onSceneColorToggle, self),
- // hide: $.proxy(self._onSceneColorToggle, self),
- var colorSettings = {
- animationSpeed: 50,
- animationEasing: 'swing',
- change: $.proxy(self._onFasterQBgColorSelected, self),
- changeDelay: 100,
- control: 'hue',
- value: '#ffffff',
- defaultValue: '#428bca',
- hideSpeed: 100,
- inline: false,
- letterCase: 'lowercase',
- opacity: false,
- position: 'bottom left',
- showSpeed: 100,
- theme: 'bootstrap'
- };
- $(Elements.FASTERQ_BLOCK_COLOR_SELECTOR).minicolors(colorSettings);
- },
-
- /**
- Init the scene backgroud selector
- @method _bgSceneInit
- **/
- _borderSceneColorInit: function () {
- var self = this;
- var colorSettings = {
- animationSpeed: 50,
- animationEasing: 'swing',
- change: $.proxy(self._onSceneBorderColorSelected, self),
- changeDelay: 100,
- control: 'hue',
- value: '#ffffff',
- defaultValue: '#428bca',
- show: $.proxy(self._onSceneColorToggle, self),
- hide: $.proxy(self._onSceneColorToggle, self),
- hideSpeed: 100,
- inline: false,
- letterCase: 'lowercase',
- opacity: false,
- position: 'bottom left',
- showSpeed: 100,
- theme: 'bootstrap'
- };
- $(Elements.SCENE_BORDER_COLOR_SELECTOR).minicolors(colorSettings);
- },
- /**
- On fasterQ background color selected by minicolors
- @method _onFasterQBgColorSelected
- @param {String} i_color
- **/
- _onFasterQBgColorSelected: function (i_color) {
- var self = this;
- BB.comBroker.fire(BB.EVENTS.FASTERQ_BG_COLOR_CHANGE, self, self, i_color);
- },
-
- /**
- On scene block border color selected by minicolors
- @method _onSceneBorderColorSelected
- @param {String} i_color
- **/
- _onSceneBorderColorSelected: function (i_color) {
- var self = this;
- if (self.m_showBorderOn)
- BB.comBroker.fire(BB.EVENTS.BLOCK_BORDER_CHANGE, self, self, i_color);
- },
-
- _onSceneColorToggle: function (e) {
- var self = this;
- if (self.m_showBorderOn) {
- self.m_showBorderOn = undefined;
- } else {
- self.m_showBorderOn = 1;
- }
-
- },
-
- /**
- On scene background color selected by minicolors
- @method _onSceneBgColorSelected
- @param {String} i_color
- **/
- _onSceneBgColorSelected: function (i_color) {
- var self = this;
- BB.comBroker.fire(BB.EVENTS.SCENE_BG_COLOR_CHANGED, self, self, i_color);
- },
-
- /**
- Create the block length knobs so a user can set the length of the block with respect to timeline_channel
- @method _propLengthKnobsInit
- @return none
- **/
- _propLengthKnobsInit: function () {
- var snippet = '<input id="blockLengthHours" data-displayPrevious="false" data-min="0" data-max="23" data-skin="tron" data-width="60" data-height="60" data-thickness=".2" type="text" class="knob" data-fgColor="gray">' +
- '<input id="blockLengthMinutes" data-displayPrevious="false" data-min="0" data-max="59" data-skin="tron" data-width="60" data-height="60" data-thickness=".2" type="text" class="knob" data-fgColor="gray">' +
- '<input id="blockLengthSeconds" data-displayPrevious="false" data-min="0" data-max="59" data-skin="tron" data-width="60" data-height="60" data-thickness=".2" type="text" class="knob" data-fgColor="gray">';
-
- $(Elements.CHANNEL_BLOCK_PROPS).append(snippet);
-
- $(Elements.CLASS_KNOB).knob({
- /*change: function (value) {
- console.log("change : " + value);
- var caller = this['i'][0].id;
- },*/
- release: function (value) {
- // console.log(this.$.attr('value'));
- // console.log("release : " + value + ' ' + this['i'][0].id);
- var caller = this['i'][0].id;
- BB.comBroker.fire(BB.EVENTS.BLOCK_LENGTH_CHANGING, this, caller, value);
- },
- /*cancel: function () {
- console.log("cancel : ", this);
- },*/
- draw: function () {
- if (this.$.data('skin') == 'tron') {
-
- var a = this.angle(this.cv) // Angle
- , sa = this.startAngle // Previous start angle
- , sat = this.startAngle // Start angle
- , ea // Previous end angle
- , eat = sat + a // End angle
- , r = 1;
-
- this.g.lineWidth = this.lineWidth;
-
- this.o.cursor
- && (sat = eat - 0.3)
- && (eat = eat + 0.3);
-
- if (this.o.displayPrevious) {
- ea = this.startAngle + this.angle(this.v);
- this.o.cursor
- && (sa = ea - 0.3)
- && (ea = ea + 0.3);
- this.g.beginPath();
- this.g.strokeStyle = this.pColor;
- this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, sa, ea, false);
- this.g.stroke();
- }
-
- this.g.beginPath();
- this.g.strokeStyle = r ? this.o.fgColor : this.fgColor;
- this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, sat, eat, false);
- this.g.stroke();
-
- this.g.lineWidth = 2;
- this.g.beginPath();
- this.g.strokeStyle = this.o.fgColor;
- this.g.arc(this.xy, this.xy, this.radius - this.lineWidth + 1 + this.lineWidth * 2 / 3, 0, 2 * Math.PI, false);
- this.g.stroke();
-
- return false;
- }
- }
- });
- },
-
- /**
- Init video volume slider in properties
- @method _videoVolumeSliderInit
- **/
- _videoVolumeSliderInit: function () {
- var self = this;
- $(Elements.VIDEO_VOLUME_WRAP_SLIDER).noUiSlider({
- handles: 1,
- start: 100,
- step: 1,
- range: [0, 100],
- serialization: {
- to: [$(Elements.VIDEO_VOLUME_LABEL), 'text']
- }
- });
- self.m_videoVolumeHandler = $(Elements.VIDEO_VOLUME_WRAP_SLIDER).on('change', function (e) {
- var volume = parseFloat($(Elements.VIDEO_VOLUME_WRAP_SLIDER).val()) / 100;
- BB.comBroker.fire(BB.EVENTS.VIDEO_VOLUME_CHANGED, this, self, volume);
- return false;
- });
- },
-
- /**
- Init youtube volume slider in properties
- @method _videoVolumeSliderInit
- **/
- _youtubeVolumeSliderInit: function () {
- var self = this;
- $(Elements.YOUTUBE_VOLUME_WRAP_SLIDER).noUiSlider({
- handles: 1,
- start: 100,
- step: 1,
- range: [0, 100],
- serialization: {
- to: [$(Elements.YOUTUBE_VOLUME_LABEL), 'text']
- }
- });
- self.m_youtuneVolumeHandler = $(Elements.YOUTUBE_VOLUME_WRAP_SLIDER).on('change', function (e) {
- var volume = parseFloat($(Elements.YOUTUBE_VOLUME_WRAP_SLIDER).val()) / 100;
- BB.comBroker.fire(BB.EVENTS.YOUTUBE_VOLUME_CHANGED, this, self, volume);
- return false;
- });
- },
-
- /**
- Bind to location Live Inputs widgets
- @method _locationLiveInputs
- **/
- _locationLiveInputs: function(){
- var self = this;
- self.m_liveLocation = {};
- self.m_liveLocation[Elements.LOCATION_RESOURCE_NAME] = new LiveInput({
- el: Elements.LOCATION_RESOURCE_NAME,
- dataLocalize: 'name',
- placeHolder: 'name',
- value: 'name',
- customEvent: BB.EVENTS.LOCATION_LIVE_INPUT_CHANGED
- });
- self.m_liveLocation[Elements.LOCATION_RESOURCE_LAT] = new LiveInput({
- el: Elements.LOCATION_RESOURCE_LAT,
- dataLocalize: 'latitude',
- placeHolder: 'latitude',
- value: 'latitude',
- customEvent: BB.EVENTS.LOCATION_LIVE_INPUT_CHANGED
- });
- self.m_liveLocation[Elements.LOCATION_RESOURCE_LNG] = new LiveInput({
- el: Elements.LOCATION_RESOURCE_LNG,
- dataLocalize: 'longitude',
- placeHolder: 'longitude',
- value: 'longitude',
- customEvent: BB.EVENTS.LOCATION_LIVE_INPUT_CHANGED
- });
-
- var input = self.m_liveLocation[Elements.LOCATION_RESOURCE_DURATION] = new LiveInput({
- el: Elements.LOCATION_RESOURCE_DURATION,
- dataLocalize: 'duration',
- placeHolder: 'duration',
- value: '5',
- customEvent: BB.EVENTS.LOCATION_LIVE_INPUT_CHANGED
- }).on('LIVE_INPUT_CHANGED', function (e) {
- }
- ).on('LIVE_INPUT_VALID_ERROR', function (e) {
- }
- );
- input.rules({
- 1: [
- input.getValidator().isNumberInRange, $(Elements.MSG_LIVEINPUT_SECONDS).text(), {
- min: 5,
- max: 86400
- }]
- });
- },
-
- /**
- Init location radius slider in properties
- @method _locationRadiusSliderInit
- **/
- _locationRadiusSliderInit: function () {
- var self = this;
- $(Elements.LOCATION_RADIUS_WRAP_SLIDER).noUiSlider({
- handles: 1,
- start: 1,
- step: 0.10,
- range: [0.10, 4],
- serialization: {
- to: [$(Elements.LOCATION_RADIUS_LABEL), 'text']
- }
- });
- self.m_locationRadiusHandle = $(Elements.LOCATION_RADIUS_WRAP_SLIDER).on('change', function (e) {
- var val = $(Elements.LOCATION_RADIUS_WRAP_SLIDER).val();
- BB.comBroker.fire(BB.EVENTS.LOCATION_RADIUS_CHANGED, this, self, val);
- return false;
- });
- },
-
- /**
- Create instance of RSSLink used in select property settings
- @method _rssSourceSelectorInit
- **/
- _rssSourceSelectorInit: function () {
- var self = this;
- self.m_rssLinkSelector = new RSSLinks({
- el: Elements.RSS_SOURCE
- });
- },
-
- /**
- Create instance of RSSLink used in select property settings
- @method _rssSourceSelectorInit
- **/
- _mrssSourceSelectorInit: function () {
- var self = this;
- self.m_mrssLinkSelector = new MRSSLinks({
- el: Elements.MRSS_SOURCE
- });
- },
-
- /**
- Create instance of FontSelector used in font property settings
- @method _rssFontSelectorInit
- **/
- _rssFontSelectorInit: function () {
- var self = this;
- self.m_rssFontSelector = new FontSelector({
- appendTo: Elements.RSS_FONT_SETTINGS,
- colorSettings: {animationSpeed: 100}
- });
- },
-
- /**
- Init the time picker duration bootstrap widget
- @method _timepickerDayDurationInit
- **/
- _timepickerDayDurationInit: function () {
- var self = this;
- $(Elements.TIME_PICKER_TIME_INPUT).timepicker({
- showSeconds: true,
- showMeridian: false,
- defaultTime: false,
- minuteStep: 1,
- secondStep: 1
- });
-
- $(Elements.TIME_PICKER_DURATION_INPUT).timepicker({
- showSeconds: true,
- showMeridian: false,
- defaultTime: false,
- minuteStep: 1,
- secondStep: 1
- });
- },
-
- /**
- Init the date picker duration bootstrap widget
- @method _datepickerDayDurationInit
- **/
- _datepickerDayDurationInit: function () {
- var self = this;
- $(Elements.CLASS_TIME_PICKER_SCHEDULER).datepicker({
- autoclose: true,
- todayHighlight: true
- });
- },
-
- /**
- Init the poll timer spinner widget
- @method _rssPollTimeInit
- @param {Number} _rssPollTimeInit
- **/
- _rssPollTimeInit: function () {
- var self = this;
- $(Elements.RSS_POLL_SPINNER).spinner({
- value: 30,
- min: 1,
- max: 30,
- step: 1
- });
- },
-
- /**
- Init the youtube properties
- @method _youtubeInit
- **/
- _youtubeInit: function () {
- var self = this;
- self.m_youtubeQualityMeter = new BarMeterView({
- el: Elements.YOUTUBE_QUALITY_METER,
- customEvent: BB.EVENTS.YOUTUBE_METER_QUALITY_CHANGED
- });
- },
-
- /**
- Init the location priority widget
- @method _locationPriorityInit
- **/
- _locationPriorityInit: function () {
- var self = this;
- self.m_locationPriorityMeter = new BarMeterView({
- el: Elements.LOCATION_PRIORITY_METER,
- customEvent: BB.EVENTS.LOCATION_PRIORITY_METER_CHANGED
- });
- },
-
- /**
- Init the fasterq properties
- @method _fasterQInit
- **/
- _fasterQInit: function () {
- var self = this;
- },
-
- /**
- Create instance of FontSelector used in font property settings for label block
- @method _labelFontSelectorInit
- **/
- _labelFontSelectorInit: function () {
- var self = this;
- self.m_labelFontSelector = new FontSelector({
- appendTo: Elements.LABEL_FONT_SETTINGS,
- colorSettings: {animationSpeed: 100}
- });
- },
-
- /**
- Create instance of FontSelector used in font json item block
- @method _jsonItemFontSelectorInit
- **/
- _jsonItemFontSelectorInit: function () {
- var self = this;
- self.m_jsonItemFontSelector = new FontSelector({
- appendTo: Elements.JSON_ITEM_FONT_SETTINGS,
- colorSettings: {animationSpeed: 100}
- });
- },
-
- /**
- Create instance of FontSelector used in font property settings for twitter item block
- @method _twitterFontSelectorInit
- **/
- _twitterFontSelectorInit: function () {
- var self = this;
- self.m_twitterFontSelector = new FontSelector({
- appendTo: Elements.TWITTER_FONT_SETTINGS,
- colorSettings: {animationSpeed: 100}
- });
- },
-
- /**
- Create instance of FontSelector used in font property settings
- @method _labelFontSelectorInit
- **/
- _labelClockFontSelectorInit: function () {
- var self = this;
- self.m_clockFontSelector = new FontSelector({
- appendTo: Elements.CLOCK_FONT_SETTINGS,
- colorSettings: {animationSpeed: 100}
- });
- },
-
- /**
- Bring into view the Block property StackView panel
- @method viewPanel
- **/
- viewPanel: function (i_panel) {
- var self = this;
- self.m_property.viewPanel(i_panel);
- },
-
- /**
- Bring into view the Block property StackView SubPanel
- @method showBlockProperty
- **/
- initSubPanel: function (i_panel) {
- var self = this;
- self.m_property.initSubPanel(i_panel);
- },
-
- /**
- Bring into view the Block property Settings StackView SubPanel
- @method initSettingsPanel
- **/
- initSettingsPanel: function (i_panel) {
- var self = this;
- self.m_property.initSettingsPanel(i_panel);
- },
-
- /**
- Bring into view the Block property StackView SubPanel
- @method showBlockProperty
- **/
- viewSubPanel: function (i_panel) {
- var self = this;
- self.m_property.viewSubPanel(i_panel);
- },
-
- /**
- Bring into view the Block property StackView SubPanel
- @method showBlockProperty
- **/
- viewSettingsPanel: function (i_panel) {
- var self = this;
- self.m_property.viewSettingsPanel(i_panel);
- },
-
- /**
- Set the value for LAT/LNG/Name for Location fields using the LiveInput widget
- @method setLocationLiveInput
- @param {String} i_el
- @param {String} i_value
- **/
- setLocationLiveInput: function (i_el, i_value) {
- var self = this;
- self.m_liveLocation[i_el].setValue(i_value);
- },
-
- /**
- Set the color picker color of scene background
- @method setBgScenePropColorPicker
- @param {Number} i_color
- **/
- setBgScenePropColorPicker: function (i_color) {
- $(Elements.SCENE_BACKGROUND_SELECTOR).minicolors('value', i_color);
- },
-
- /**
- Set the color picker color of scene border
- @method setBorderBlockPropColorPicker
- @param {String} i_color
- **/
- setBorderBlockPropColorPicker: function (i_color) {
- $(Elements.SCENE_BORDER_COLOR_SELECTOR).minicolors('value', i_color);
- },
-
- /**
- Returns the instance of rss font selector
- @method getRssFontSelector
- @return {Object} m_rssFontSelector instance
- **/
- getRssFontSelector: function () {
- var self = this;
- return self.m_rssFontSelector;
- },
-
- /**
- Returns the instance of clock font selector
- @method getClockFontSelector
- @return {Object} m_clockFontSelector instance
- **/
- getClockFontSelector: function () {
- var self = this;
- return self.m_clockFontSelector;
- },
-
- /**
- Returns the instance of label font selector
- @method getLabelFontSelector
- @return {Object} font selector instance
- **/
- getLabelFontSelector: function () {
- var self = this;
- return self.m_labelFontSelector;
- },
-
- /**
- Returns the instance of label json item font selector
- @method getLabelJsonItemFontSelector
- @return {Object} font selector instance
- **/
- getLabelJsonItemFontSelector: function () {
- var self = this;
- return self.m_jsonItemFontSelector;
- },
-
- /**
- Returns the instance of twitter item font selector
- @method getTwitterItemFontSelector
- @return {Object} font selector instance
- **/
- getTwitterItemFontSelector: function () {
- var self = this;
- return self.m_twitterFontSelector;
- },
-
- /**
- Returns the instance of youtube quality meter
- @method getYouTubeQualityMeter
- @return {Object} m_youtubeQualityMeter instance
- **/
- getYouTubeQualityMeter: function () {
- var self = this;
- return self.m_youtubeQualityMeter;
- },
-
- /**
- Returns the instance of location priority meter
- @method getLocationPriorityMeter
- @return {Object} m_locationPriorityMeter instance
- **/
- getLocationPriorityMeter: function () {
- var self = this;
- return self.m_locationPriorityMeter;
- },
-
- /**
- Returns the instance pf rss link selector
- @method getRssLinkSelector
- @return {Object} m_rssLinks instance
- **/
- getRssLinkSelector: function () {
- var self = this;
- return self.m_rssLinkSelector;
- },
-
- /**
- Returns the instance pf mrss link selector
- @method getMRssLinkSelector
- @return {Object} m_mrssLinkSelector instance
- **/
- getMRssLinkSelector: function () {
- var self = this;
- return self.m_mrssLinkSelector;
- },
-
- /**
- Init the collection bootstrap datatable
- @method collectionDatatableInit
- **/
- collectionDatatableInit: function () {
- var self = this;
- if (self.m_loadedOnceCollectionDatagrid)
- return;
- self.m_loadedOnceCollectionDatagrid = true;
- require(['bootstrap-table-editable', 'bootstrap-table-sort-rows'], function (bootstraptableeditable, bootstraptablesortrows) {
- self.m_collectionTable = $(Elements.COLLECTION_TABLE);
- self.m_collectionTable.bootstrapTable({
- data: [],
- editable: true,
- type: 'select',
- title: 'Select status',
- placement: 'left',
- onEditableInit: function (response, newValue) {
- //console.log(newValue);
- },
- onReorderRowsDrag: function (table, row) {
- BB.comBroker.fire(BB.EVENTS.COLLECTION_ROW_DRAG, this, self, $(row).attr('data-index'));
- },
- onReorderRowsDrop: function (table, row) {
- BB.comBroker.fire(BB.EVENTS.COLLECTION_ROW_DROP, this, self, $(row).attr('data-index'));
- },
- onEditableShown: function (response, newValue) {
- //console.log(newValue);
- },
- onEditableHidden: function (response, newValue) {
- //console.log(newValue);
- //console.log('getSelections: ' + JSON.stringify($table.bootstrapTable('getSelections')));
- //$table.bootstrapTable('refresh');
- },
- onEditableSave: function (response, newValue) {
- BB.comBroker.fire(BB.EVENTS.COLLECTION_ROW_CHANGED, this, self, newValue);
- },
- success: function (response, newValue) {
- if (response.status == 'error') {
- return response.msg;
- } //msg will be shown in editable form
- }
- });
-
- self.m_collectionEventTable = $(Elements.COLLECTION_EVENTS_TABLE);
- self.m_collectionEventTable.bootstrapTable({
- data: [],
- editable: true,
- type: 'select',
- title: 'Select status',
- placement: 'left',
- onEditableInit: function (response, newValue) {
- //console.log(newValue);
- },
- onEditableSave: function (response, newValue) {
- BB.comBroker.fire(BB.EVENTS.COLLECTION_EVENT_ROW_CHANGED, this, self, newValue);
- },
- success: function (response, newValue) {
- if (response.status == 'error') {
- return response.msg;
- } //msg will be shown in editable form
- }
- });
- });
- },
-
- /**
- Init the json event bootstrap datatable
- @method jsonEventDatatableInit
- **/
- jsonEventDatatableInit: function () {
- var self = this;
- if (self.m_loadedOnceJsonDatagrid)
- return;
- self.m_loadedOnceJsonDatagrid = true;
- require(['bootstrap-table-editable', 'bootstrap-table-sort-rows'], function (bootstraptableeditable, bootstraptablesortrows) {
- self.m_jsonEventTable = $(Elements.JSON_EVENTS_TABLE);
- self.m_jsonEventTable.bootstrapTable({
- data: [],
- editable: true,
- type: 'select',
- title: 'Select status',
- placement: 'left',
- onEditableInit: function (response, newValue) {
- //console.log(newValue);
- },
- onEditableSave: function (response, newValue) {
- BB.comBroker.fire(BB.EVENTS.JSON_EVENT_ROW_CHANGED, this, self, newValue);
- },
- success: function (response, newValue) {
- if (response.status == 'error') {
- return response.msg;
- } //msg will be shown in editable form
- }
- });
- });
- },
-
- /**
- Init the location base bootstrap datatable
- @method locationDatatableInit
- **/
- locationDatatableInit: function () {
- var self = this;
- if (self.m_loadedOnceLocationDatagrid)
- return;
- self.m_loadedOnceLocationDatagrid = true;
- require(['bootstrap-table-editable', 'bootstrap-table-sort-rows'], function (bootstraptableeditable, bootstraptablesortrows) {
- self.m_locationTable = $(Elements.LOCATION_TABLE);
- self.m_locationTable.bootstrapTable({
- data: [],
- editable: true,
- type: 'select',
- title: 'Select status',
- placement: 'left',
- onEditableInit: function (response, newValue) {
- // console.log(newValue);
- },
- onReorderRowsDrag: function (table, row) {
- BB.comBroker.fire(BB.EVENTS.LOCATION_ROW_DRAG, this, self, $(row).attr('data-index'));
- },
- onReorderRowsDrop: function (table, row) {
- BB.comBroker.fire(BB.EVENTS.LOCATION_ROW_DROP, this, self, $(row).attr('data-index'));
- },
- onEditableShown: function (response, newValue) {
- // console.log(newValue);
- },
- onEditableHidden: function (response, newValue) {
- // console.log(newValue);
- //console.log('getSelections: ' + JSON.stringify($table.bootstrapTable('getSelections')));
- //$table.bootstrapTable('refresh');
- },
- onEditableSave: function (response, newValue) {
- BB.comBroker.fire(BB.EVENTS.LOCATION_ROW_CHANGED, this, self, newValue);
- },
- success: function (response, newValue) {
- if (response.status == 'error') {
- return response.msg;
- } //msg will be shown in editable form
- }
- });
- });
- }
- });
-
- return BlockProperties;
- });
-
-
-
-