From 4115f4939e6c54487c2542005ce0051e7c23359a Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 21 Sep 2015 15:37:57 -0400 Subject: [PATCH] Frontend tweaks --- .../views/scripts/podcast/podcast.phtml | 20 ++++++----- airtime_mvc/public/css/dashboard.css | 9 +++-- airtime_mvc/public/css/media_library.css | 6 +++- airtime_mvc/public/css/styles.css | 4 +++ .../public/js/airtime/widgets/table.js | 33 +++++++++++-------- 5 files changed, 43 insertions(+), 29 deletions(-) diff --git a/airtime_mvc/application/views/scripts/podcast/podcast.phtml b/airtime_mvc/application/views/scripts/podcast/podcast.phtml index 0529a2a27..5e2a3d1f8 100644 --- a/airtime_mvc/application/views/scripts/podcast/podcast.phtml +++ b/airtime_mvc/application/views/scripts/podcast/podcast.phtml @@ -4,15 +4,17 @@
- - - +
diff --git a/airtime_mvc/public/css/dashboard.css b/airtime_mvc/public/css/dashboard.css index 26167d763..e5a95c90f 100644 --- a/airtime_mvc/public/css/dashboard.css +++ b/airtime_mvc/public/css/dashboard.css @@ -86,14 +86,13 @@ } #library_content .dataTables_filter input[type="text"], #library_content .dataTables_filter select { - height: 26px; /*margin: 0;*/ /* Quick fix, kind of ugly */ margin: -30px 0 0; - border: 0; - float: left; - position: absolute; - width: 100%; + /*border: 0;*/ + /*float: left;*/ + /*position: absolute;*/ + /*width: 100%;*/ } #library_content label { diff --git a/airtime_mvc/public/css/media_library.css b/airtime_mvc/public/css/media_library.css index f76078df8..7947bee37 100644 --- a/airtime_mvc/public/css/media_library.css +++ b/airtime_mvc/public/css/media_library.css @@ -200,8 +200,12 @@ tr.lib-selected > td > div.library_actions_btn:hover { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; + /*width:60%;*/ height: 26px; - width:60%; + border: 0; + float: left; + position: absolute; + width: 100%; } .dataTables_filter label { -webkit-box-sizing: border-box; diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css index edf372109..2124ebc2d 100644 --- a/airtime_mvc/public/css/styles.css +++ b/airtime_mvc/public/css/styles.css @@ -3933,4 +3933,8 @@ li .ui-state-hover { overflow: hidden; text-overflow: ellipsis; max-width: 300px; +} + +.podcast-metadata input { + width: 100%; } \ No newline at end of file diff --git a/airtime_mvc/public/js/airtime/widgets/table.js b/airtime_mvc/public/js/airtime/widgets/table.js index 5bfef79ba..f2295a953 100644 --- a/airtime_mvc/public/js/airtime/widgets/table.js +++ b/airtime_mvc/public/js/airtime/widgets/table.js @@ -9,19 +9,24 @@ var AIRTIME = (function(AIRTIME) { AIRTIME.widgets = {}; } - var HUGE_INT = Math.pow(2, 53) - 1; - //Table widget constructor var Table = function(wrapperDOMNode, bItemSelection, toolbarButtons, dataTablesOptions) { var self = this; + self.HUGE_INT = Math.pow(2, 53) - 1; + //Constants and enumerations self.SELECTION_MODE = { SINGLE : 0, MULTI_SHIFT : 1, MULTI_CTRL : 2 - } + }; + + // Internal enum for repeated jQuery selectors + self._SELECTORS = Object.freeze({ + SELECTION_CHECKBOX: ".airtime_table_checkbox" + }); //Member variables self._datatable = null; @@ -44,7 +49,7 @@ var AIRTIME = (function(AIRTIME) { // If selection is enabled, add in the checkbox column. if (bItemSelection) { dataTablesOptions["aoColumns"].unshift( - /* Checkbox */ { "sTitle" : "", "mData" : self._datatablesCheckboxDataDelegate, "bSortable" : false , "bSearchable" : false , "sWidth" : "16px" , "sClass" : "library_checkbox" } + /* Checkbox */ { "sTitle" : "", "mData" : self._datatablesCheckboxDataDelegate, "bSortable" : false , "bSearchable" : false , "sWidth" : "16px" , "sClass" : "airtime_table_checkbox" } ); } @@ -127,16 +132,16 @@ var AIRTIME = (function(AIRTIME) { self.selectRow(nRow, aData, selectionMode, iDisplayIndex); }); - $(self._datatable, 'tbody tr').on('click', 'input.airtime_table_checkbox', function(e) { + $(self._datatable, 'tbody tr').on('click', self._SELECTORS.SELECTION_CHECKBOX, function(e) { $this = $(this); - var iVisualRowIdx = $this.parent().parent().index(); + var iVisualRowIdx = $this.parent().index(); var aData = self._datatable.fnGetData(iVisualRowIdx); var selectionMode = self.SELECTION_MODE.MULTI_CTRL; //Behaviour for checkboxes. if (e.shiftKey) { selectionMode = self.SELECTION_MODE.MULTI_SHIFT; } - self.selectRow($this.parent().parent(), aData, selectionMode, iVisualRowIdx); //Always multiselect for checkboxes + self.selectRow($this.parent(), aData, selectionMode, iVisualRowIdx); //Always multiselect for checkboxes e.stopPropagation(); return true; }); @@ -214,7 +219,7 @@ var AIRTIME = (function(AIRTIME) { this._selectedRowVisualIdxMin = self.HUGE_INT; this._selectedRowVisualIdxMax = -1; this._$wrapperDOMNode.find('.selected').removeClass('selected'); - this._$wrapperDOMNode.find('input.airtime_table_checkbox').attr('checked', false); + this._$wrapperDOMNode.find(this._SELECTORS.SELECTION_CHECKBOX).find('input').attr('checked', false); }; /** @param nRow is a tr DOM node (non-jQuery) @@ -245,12 +250,12 @@ var AIRTIME = (function(AIRTIME) { //self._selectedRowVisualIdxMap[iVisualRowIdx] = aData; $nRow.addClass('selected'); - $nRow.find('input.airtime_table_checkbox').attr('checked', true); + $nRow.find(self._SELECTORS.SELECTION_CHECKBOX).find('input').attr('checked', true); } //Ctrl-click multi row selection mode else if (selectionMode == self.SELECTION_MODE.MULTI_CTRL) { - var foundAtIdx = $.inArray(aData, self._selectedRows) + var foundAtIdx = $.inArray(aData, self._selectedRows); console.log('checkbox mouse', iVisualRowIdx, foundAtIdx); //XXX: Debugging -- Bug here-ish @@ -264,7 +269,7 @@ var AIRTIME = (function(AIRTIME) { if (foundAtIdx >= 0 && self._selectedRows.length >= 1) { self._selectedRows.splice(foundAtIdx, 1); $nRow.removeClass('selected'); - $nRow.find('input.airtime_table_checkbox').attr('checked', false); + $nRow.find(self._SELECTORS.SELECTION_CHECKBOX).find('input').attr('checked', false); } else { self._selectedRows.push(aData); @@ -273,7 +278,7 @@ var AIRTIME = (function(AIRTIME) { self._selectedRowVisualIdxMax = iVisualRowIdx; $nRow.addClass('selected'); - $nRow.find('input.airtime_table_checkbox').attr('checked', true); + $nRow.find(self._SELECTORS.SELECTION_CHECKBOX).find('input').attr('checked', true); } } //Shift-click multi row selection mode @@ -304,7 +309,7 @@ var AIRTIME = (function(AIRTIME) { self._selectedRows.push(allRows[i]); $row = $($nRow.parent().children()[i]); $row.addClass('selected'); - $row.find('input.airtime_table_checkbox').attr('checked', true); + $row.find(self._SELECTORS.SELECTION_CHECKBOX).find('input').attr('checked', true); } } @@ -396,7 +401,7 @@ var AIRTIME = (function(AIRTIME) { //Supposed to return the raw data for the type here. return null; } else if (callType == 'display') { - return ""; + return ""; } else if (callType == 'sort') { return null; } else if (callType == 'type') {