Kaynağa Gözat

HUE-6113 [frontend] Prevent dashboard css from leaking

This also moves all the dashboard related styles to less.
Johan Ahlen 8 yıl önce
ebeveyn
işleme
b592fe1d5b

+ 7 - 0
Gruntfile.js

@@ -45,6 +45,11 @@ module.exports = function(grunt) {
           'apps/oozie/src/oozie/static/oozie/css/common-editor.css': 'apps/oozie/src/oozie/static/oozie/less/common-editor.less',
           'apps/oozie/src/oozie/static/oozie/css/coordinator.css': 'apps/oozie/src/oozie/static/oozie/less/coordinator.less',
           'apps/oozie/src/oozie/static/oozie/css/coordinator-editor.css': 'apps/oozie/src/oozie/static/oozie/less/coordinator-editor.less',
+          'desktop/libs/dashboard/src/dashboard/static/dashboard/css/admin.css': 'desktop/libs/dashboard/src/dashboard/static/dashboard/less/admin.less',
+          'desktop/libs/dashboard/src/dashboard/static/dashboard/css/admin_mobile.css': 'desktop/libs/dashboard/src/dashboard/static/dashboard/less/admin_mobile.less',
+          'desktop/libs/dashboard/src/dashboard/static/dashboard/css/common_dashboard.css': 'desktop/libs/dashboard/src/dashboard/static/dashboard/less/common_dashboard.less',
+          'desktop/libs/dashboard/src/dashboard/static/dashboard/css/search.css': 'desktop/libs/dashboard/src/dashboard/static/dashboard/less/search.less',
+          'desktop/libs/dashboard/src/dashboard/static/dashboard/css/search_mobile.css': 'desktop/libs/dashboard/src/dashboard/static/dashboard/less/search_mobile.less',
           'apps/filebrowser/src/filebrowser/static/filebrowser/css/display.css': 'apps/filebrowser/src/filebrowser/static/filebrowser/less/display.less',
           'apps/filebrowser/src/filebrowser/static/filebrowser/css/listdir_components.css': 'apps/filebrowser/src/filebrowser/static/filebrowser/less/listdir_components.less',
           'apps/jobbrowser/src/jobbrowser/static/jobbrowser/css/jobbrowser.css': 'apps/jobbrowser/src/jobbrowser/static/jobbrowser/less/jobbrowser.less',
@@ -66,6 +71,8 @@ module.exports = function(grunt) {
           'desktop/libs/notebook/src/notebook/static/notebook/less/**/*.less',
           'apps/oozie/src/oozie/static/oozie/less/*.less',
           'apps/oozie/src/oozie/static/oozie/less/**/*.less',
+          'desktop/libs/dashboard/src/dashboard/static/dashboard/less/*.less',
+          'desktop/libs/dashboard/src/dashboard/static/dashboard/less/**/*.less',
           'apps/filebrowser/src/filebrowser/static/filebrowser/less/*.less',
           'apps/filebrowser/src/filebrowser/static/filebrowser/less/**/*.less',
           'apps/jobbrowser/src/jobbrowser/static/jobbrowser/less/*.less',

+ 0 - 427
desktop/core/src/desktop/static/desktop/css/common_dashboard.css

@@ -1,427 +0,0 @@
-/*
- Licensed to Cloudera, Inc. under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  Cloudera, Inc. licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-.dashboard .container-fluid {
-  padding: 6px;
-}
-
-.row-container {
-  width: 100%;
-  min-height: 70px;
-}
-
-.row-container.is-editing {
-  border: 1px solid #e5e5e5;
-}
-
-.ui-sortable {
-  background-color: #F3F3F3;
-  min-height: 100px;
-}
-
-.ui-sortable.white {
-  background-color: #FFF!important;
-}
-
-.ui-sortable h2 {
-  padding-left: 10px !important;
-}
-
-.ui-sortable h2 ul {
-  float: left;
-  margin-right: 10px;
-  font-size: 14px;
-}
-
-.ui-sortable-disabled {
-  background-color: #FFF;
-}
-
-.sortable-arguments {
-  margin-left: -10px!important;
-  width: 99%;
-}
-
-.sortable-arguments li {
-  margin-left: 10px;
-}
-
-.card-column, .card-additional {
-  border: none;
-}
-
-.card-widget {
-  padding-top: 0;
-  border: 0;
-  min-height: 100px;
-}
-
-.card-widget .card-heading {
-  font-size: 12px !important;
-  font-weight: bold !important;
-  line-height: 24px !important;
-  padding-left: 3px !important;
-  padding-right: 3px !important;
-}
-
-.card-widget .card-body {
-  margin-top: 0;
-  min-height: 40px;
-}
-
-.card-toolbar {
-  margin: 0;
-  padding: 4px;
-  padding-top: 0;
-  top: 70px;
-  position: fixed;
-  width: 100%;
-  z-index: 1001;
-}
-
-.row-header {
-  background-color: #F6F6F6;
-  display: inline;
-  padding: 3px;
-  border: 1px solid #e5e5e5;
-  border-bottom: none;
-}
-
-.row-highlight {
-  background-color: #DDD;
-  min-height: 100px;
-}
-
-#emptyDashboard {
-  position: absolute;
-  right: 204px;
-  top: 80px;
-  color: #666;
-  font-size: 20px;
-  z-index: 1000;
-}
-
-#emptyDashboardEditing {
-  position: absolute;
-  left: 120px;
-  top: 160px;
-  color: #666;
-  font-size: 20px;
-}
-
-.emptyRow {
-  margin-top: 10px;
-  margin-left: 140px;
-  color: #666;
-  font-size: 18px;
-}
-
-.preview-row {
-  background-color: #f9f9f9;
-  min-height: 400px !important;
-  margin-top: 30px;
-  text-align: center;
-  color:#DDD;
-}
-
-.toolbar-label {
-  float: left;
-  font-weight: bold;
-  color: #999;
-  padding-left: 8px;
-  padding-top: 24px;
-}
-
-.draggable-widget {
-  width: 40px;
-  text-align: center;
-  float: left;
-  border: 1px solid #CCC;
-  margin-top: 10px;
-  margin-left: 10px;
-  cursor: move;
-}
-
-.draggable-widget.disabled {
-  cursor: default;
-}
-
-.draggable-widget a {
-  font-size: 20px;
-  line-height: 40px;
-}
-
-.draggable-widget.disabled a {
-  cursor: default;
-  color: #CCC;
-}
-
-.layout-container {
-  width: 100px;
-  float: left;
-  margin-top: 10px;
-  margin-left: 10px;
-}
-
-.layout-box {
-  float: left;
-  height: 48px;
-  background-color: #DDD;
-  text-align: center;
-}
-
-.layout-box i {
-  color: #999;
-  font-size: 28px;
-  line-height: 54px;
-}
-
-.layout-container:hover .layout-box {
-  background-color: #CCC;
-}
-
-.with-top-margin {
-  margin-top: 60px;
-}
-
-.ui-sortable .card-heading {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-
-.search-bar {
-  padding-top: 6px;
-  padding-bottom: 6px;
-}
-
-.widget-settings-section {
-  display: none;
-}
-
-.widget-spinner {
-  padding: 10px;
-  font-size: 80px;
-  color: #CCC;
-  text-align: center;
-}
-
-.card {
-  margin: 0;
-}
-
-.move-widget {
-  cursor: move;
-}
-
-body.modal-open {
-  overflow: auto !important;
-}
-
-.add-row {
-  background-color: #F6F6F6;
-  min-height: 36px;
-  border: 2px dashed #DDD;
-  text-align: center;
-  padding: 4px;
-  cursor: pointer;
-}
-
-.add-row:before {
-  color: #DDD;
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: normal;
-  font-size: 24px;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  content: "\f055";
-}
-
-.add-row-highlight {
-  min-height: 10px;
-  background-color: #CCC;
-}
-
-.spinedit-cnt div.spinedit .fa-chevron-up {
-  top: -7px;
-  color: #666;
-}
-
-.spinedit-cnt div.spinedit .fa-chevron-down {
-  top: 7px;
-  left: -4px;
-  color: #666;
-}
-
-.facet-field-cnt {
-  margin-bottom: 6px;
-}
-
-.facet-field-switch {
-  display: inline;
-  margin-top: 10px;
-  margin-left: 3px;
-}
-
-.facet-field-label {
-  color: #333;
-  font-size: 11px;
-  margin-bottom: 2px;
-  margin-right: 4px;
-  text-transform: uppercase;
-  text-shadow: 1px 1px 0 #fff;
-}
-
-.facet-field-label-fixed-width {
-  width: 90px;
-  text-align: right;
-  padding-right: 8px;
-  display: inline-block;
-}
-
-.facet-field-label-fixed-width-double {
-  width: 180px;
-}
-
-.facet-field-label-title {
-  text-align: left;
-  font-weight: bold;
-  padding-left: 110px;
-}
-
-.simpledaterangepicker .left-margin {
-  margin-left: 6px;
-}
-
-.facet-field-tile {
-  float: left;
-}
-
-.card-column .simpledaterangepicker .input-prepend {
-  margin-left: 3px;
-}
-
-.card-column.span2 .facet-field-label-fixed-width {
-  text-align: left;
-  width: auto;
-}
-
-.card-column.span2 .facet-field-label-title {
-  padding-left: 0;
-}
-
-.card-column.span2 .simpledaterangepicker .facet-field-label-fixed-width {
-  display: block;
-}
-
-.card-column.span2 .simpledaterangepicker .input-prepend {
-  display: block;
-  margin-bottom: 5px;
-}
-
-.card-column.span2 .simpledaterangepicker .left-margin {
-  margin-left: 0;
-}
-
-.card-column.span2 .simpledaterangepicker input[type='text'] {
-  width: 70%;
-}
-
-.card-column.span2 .simpledaterangepicker select {
-  margin-bottom: 5px;
-}
-
-.card-widget .input-append, .card-widget .input-prepend, .card-widget select, .card-widget input {
-  margin-bottom: 0;
-}
-
-.card-column.span2 select {
-  width: 120px;
-}
-
-.card-column.span2 .facet-field-tile {
-  float: none;
-}
-
-.responsive-facet-toggle-section {
-  margin-bottom: 20px;
-}
-
-.floating-facet-toggle-section {
-  margin-bottom: 20px;
-  float: left;
-  margin-right: 20px;
-}
-
-@media (min-width: 1360px) {
-  .responsive-facet-toggle-section {
-    margin-bottom: 20px;
-    float: left;
-    margin-right: 20px;
-  }
-}
-
-.dimensions-header {
-  border-bottom: none;
-  text-transform: uppercase;
-  font-size: 11px;
-  font-weight: bold;
-  margin-bottom: 3px;
-}
-
-.break-on-small-column {
-  display: none;
-}
-
-.card-column.span2 .break-on-small-column {
-  display: block;
-}
-
-.leaflet-align {
-  text-align: center;
-}
-
-.card-column.span2 .leaflet-align {
-  text-align: left;
-}
-
-.logs-icon {
-  font-size: 20px;
-  margin-right: 17px;
-}
-
-.card-additional {
-  padding: 10px;
-  margin-bottom: 10px;
-  text-align: center;
-}
-
-.ace-editor {
-  padding-left: 4px;
-  border-left: 1px solid #FFFFFF;
-  -webkit-transition: border-left-color 0.2s ease;
-  -moz-transition: border-left-color 0.2s ease;
-  -ms-transition: border-left-color 0.2s ease;
-  transition: border-left-color 0.2s ease;
-}

+ 1 - 1
desktop/core/src/desktop/templates/common_dashboard.mako

@@ -26,7 +26,7 @@
 %>
 
 <%def name="import_layout(with_deferred=False)">
-  <link rel="stylesheet" href="${ static('desktop/css/common_dashboard.css') }">
+  <link rel="stylesheet" href="${ static('dashboard/css/common_dashboard.css') }">
   <script src="${ static('desktop/js/ko.common-dashboard.js') }" type="text/javascript" charset="utf-8"></script>
   <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }" type="text/javascript" charset="utf-8"></script>
   <script src="${ static('desktop/ext/js/knockout-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>

+ 17 - 74
desktop/libs/dashboard/src/dashboard/static/dashboard/css/admin.css

@@ -1,74 +1,17 @@
-/*
- Licensed to Cloudera, Inc. under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  Cloudera, Inc. licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-.search-bar {
-  background-color: #fafafa;
-  border-bottom: 1px solid #e3e3e3;
-  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-  margin: 0;
-  margin-bottom: 20px;
-  padding: 10px;
-  padding-left: 20px;
-  padding-right: 20px;
-  text-align: left;
-}
-
-.search-bar h4 {
-  font-size: 20px !important;
-  color: #338BB8 !important;
-  padding: 0 !important;
-  margin-top: 4px !important;
-  margin-left: 20px;
-  border: none !important;
-  max-width: none!important;
-}
-
-#collections {
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-  width: 100%;
-}
-
-.coll-heading {
-  position: relative;
-  top: 10px;
-}
-
-.placeholder {
-  background-color: #F5F5F5;
-  border: 1px solid #E3E3E3;
-  height: 40px;
-}
-
-.collection-actions {
-   cursor: pointer;
-   margin: 10px 10px 0 0;
-}
-
-.waiting {
-  font-size: 196px;
-  color: #DDD;
-}
-
-h1.emptyMessage {
-  margin-top: 50px;
-  color: #BBB;
-  line-height: 60px;
-}
+/*!
+Licensed to Cloudera, Inc. under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  Cloudera, Inc. licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ */.dashboard-admin .search-bar{background-color:#fafafa;border-bottom:1px solid #e3e3e3;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065);margin:0;margin-bottom:20px;padding:10px;padding-left:20px;padding-right:20px;text-align:left}.dashboard-admin .search-bar h4{font-size:20px !important;color:#338BB8 !important;padding:0 !important;margin-top:4px !important;margin-left:20px;border:none !important;max-width:none !important}.dashboard-admin #collections{list-style-type:none;margin:0;padding:0;width:100%}.dashboard-admin .coll-heading{position:relative;top:10px}.dashboard-admin .placeholder{background-color:#F5F5F5;border:1px solid #E3E3E3;height:40px}.dashboard-admin .collection-actions{cursor:pointer;margin:10px 10px 0 0}.dashboard-admin .waiting{font-size:196px;color:#DDD}.dashboard-admin h1.emptyMessage{margin-top:50px;color:#BBB;line-height:60px}

+ 15 - 20
desktop/libs/dashboard/src/dashboard/static/dashboard/css/admin_mobile.css

@@ -1,22 +1,17 @@
-/*
- Licensed to Cloudera, Inc. under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  Cloudera, Inc. licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
+/*!
+Licensed to Cloudera, Inc. under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  Cloudera, Inc. licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-     http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-.card {
-  padding-top: 0!important;
-  margin: 0!important;
-  border: none!important;
-}
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ */.dashboard-admin .card{padding-top:0 !important;margin:0 !important;border:none !important}

Dosya farkı çok büyük olduğundan ihmal edildi
+ 16 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/css/common_dashboard.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 16 - 729
desktop/libs/dashboard/src/dashboard/static/dashboard/css/search.css


+ 17 - 45
desktop/libs/dashboard/src/dashboard/static/dashboard/css/search_mobile.css

@@ -1,45 +1,17 @@
-/*
- Licensed to Cloudera, Inc. under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  Cloudera, Inc. licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-.card-column, .ui-sortable {
-  min-height: 0!important;
-}
-
-.dashboard {
-  margin-top: 0!important;
-}
-
-.card {
-  padding-top: 0!important;
-}
-
-.card-widget {
-  padding-top: 10px!important;
-}
-
-.dashboard .container-fluid {
-  padding: 0!important;
-}
-
-.form-search .input-append {
-  width: 100%;
-}
-
-.form-search .input-append input {
-  width: 80%;
-}
+/*!
+Licensed to Cloudera, Inc. under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  Cloudera, Inc. licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ */.dashboard-search .card-column,.dashboard-search .ui-sortable{min-height:0 !important}.dashboard-search .dashboard{margin-top:0 !important}.dashboard-search .card{padding-top:0 !important}.dashboard-search .card-widget{padding-top:10px !important}.dashboard-search .dashboard .container-fluid{padding:0 !important}.dashboard-search .form-search .input-append{width:100%}.dashboard-search .form-search .input-append input{width:80%}

+ 76 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/less/admin.less

@@ -0,0 +1,76 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+.dashboard-admin {
+  .search-bar {
+    background-color: #fafafa;
+    border-bottom: 1px solid #e3e3e3;
+    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+    margin: 0;
+    margin-bottom: 20px;
+    padding: 10px;
+    padding-left: 20px;
+    padding-right: 20px;
+    text-align: left;
+  }
+
+  .search-bar h4 {
+    font-size: 20px !important;
+    color: #338BB8 !important;
+    padding: 0 !important;
+    margin-top: 4px !important;
+    margin-left: 20px;
+    border: none !important;
+    max-width: none !important;
+  }
+
+  #collections {
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+  }
+
+  .coll-heading {
+    position: relative;
+    top: 10px;
+  }
+
+  .placeholder {
+    background-color: #F5F5F5;
+    border: 1px solid #E3E3E3;
+    height: 40px;
+  }
+
+  .collection-actions {
+    cursor: pointer;
+    margin: 10px 10px 0 0;
+  }
+
+  .waiting {
+    font-size: 196px;
+    color: #DDD;
+  }
+
+  h1.emptyMessage {
+    margin-top: 50px;
+    color: #BBB;
+    line-height: 60px;
+  }
+}

+ 24 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/less/admin_mobile.less

@@ -0,0 +1,24 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+.dashboard-admin {
+  .card {
+    padding-top: 0 !important;
+    margin: 0 !important;
+    border: none !important;
+  }
+}

+ 429 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/less/common_dashboard.less

@@ -0,0 +1,429 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+.dashboard-search {
+  .dashboard .container-fluid {
+    padding: 6px;
+  }
+
+  .row-container {
+    width: 100%;
+    min-height: 70px;
+  }
+
+  .row-container.is-editing {
+    border: 1px solid #e5e5e5;
+  }
+
+  .ui-sortable {
+    background-color: #F3F3F3;
+    min-height: 100px;
+  }
+
+  .ui-sortable.white {
+    background-color: #FFF!important;
+  }
+
+  .ui-sortable h2 {
+    padding-left: 10px !important;
+  }
+
+  .ui-sortable h2 ul {
+    float: left;
+    margin-right: 10px;
+    font-size: 14px;
+  }
+
+  .ui-sortable-disabled {
+    background-color: #FFF;
+  }
+
+  .sortable-arguments {
+    margin-left: -10px!important;
+    width: 99%;
+  }
+
+  .sortable-arguments li {
+    margin-left: 10px;
+  }
+
+  .card-column, .card-additional {
+    border: none;
+  }
+
+  .card-widget {
+    padding-top: 0;
+    border: 0;
+    min-height: 100px;
+  }
+
+  .card-widget .card-heading {
+    font-size: 12px !important;
+    font-weight: bold !important;
+    line-height: 24px !important;
+    padding-left: 3px !important;
+    padding-right: 3px !important;
+  }
+
+  .card-widget .card-body {
+    margin-top: 0;
+    min-height: 40px;
+  }
+
+  .card-toolbar {
+    margin: 0;
+    padding: 4px;
+    padding-top: 0;
+    top: 80px;
+    position: fixed;
+    width: 100%;
+    z-index: 1001;
+  }
+
+  .row-header {
+    background-color: #F6F6F6;
+    display: inline;
+    padding: 3px;
+    border: 1px solid #e5e5e5;
+    border-bottom: none;
+  }
+
+  .row-highlight {
+    background-color: #DDD;
+    min-height: 100px;
+  }
+
+  #emptyDashboard {
+    position: absolute;
+    right: 204px;
+    top: 80px;
+    color: #666;
+    font-size: 20px;
+    z-index: 1000;
+  }
+
+  #emptyDashboardEditing {
+    position: absolute;
+    left: 120px;
+    top: 160px;
+    color: #666;
+    font-size: 20px;
+  }
+
+  .emptyRow {
+    margin-top: 10px;
+    margin-left: 140px;
+    color: #666;
+    font-size: 18px;
+  }
+
+  .preview-row {
+    background-color: #f9f9f9;
+    min-height: 400px !important;
+    margin-top: 30px;
+    text-align: center;
+    color:#DDD;
+  }
+
+  .toolbar-label {
+    float: left;
+    font-weight: bold;
+    color: #999;
+    padding-left: 8px;
+    padding-top: 24px;
+  }
+
+  .draggable-widget {
+    width: 40px;
+    text-align: center;
+    float: left;
+    border: 1px solid #CCC;
+    margin-top: 10px;
+    margin-left: 10px;
+    cursor: move;
+  }
+
+  .draggable-widget.disabled {
+    cursor: default;
+  }
+
+  .draggable-widget a {
+    font-size: 20px;
+    line-height: 40px;
+  }
+
+  .draggable-widget.disabled a {
+    cursor: default;
+    color: #CCC;
+  }
+
+  .layout-container {
+    width: 100px;
+    float: left;
+    margin-top: 10px;
+    margin-left: 10px;
+  }
+
+  .layout-box {
+    float: left;
+    height: 48px;
+    background-color: #DDD;
+    text-align: center;
+  }
+
+  .layout-box i {
+    color: #999;
+    font-size: 28px;
+    line-height: 54px;
+  }
+
+  .layout-container:hover .layout-box {
+    background-color: #CCC;
+  }
+
+  .with-top-margin {
+    margin-top: 60px;
+  }
+
+  .ui-sortable .card-heading {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+  }
+
+  .search-bar {
+    padding-top: 6px;
+    padding-bottom: 6px;
+  }
+
+  .widget-settings-section {
+    display: none;
+  }
+
+  .widget-spinner {
+    padding: 10px;
+    font-size: 80px;
+    color: #CCC;
+    text-align: center;
+  }
+
+  .card {
+    margin: 0;
+  }
+
+  .move-widget {
+    cursor: move;
+  }
+
+  body.modal-open {
+    overflow: auto !important;
+  }
+
+  .add-row {
+    background-color: #F6F6F6;
+    min-height: 36px;
+    border: 2px dashed #DDD;
+    text-align: center;
+    padding: 4px;
+    cursor: pointer;
+  }
+
+  .add-row:before {
+    color: #DDD;
+    display: inline-block;
+    font-family: FontAwesome;
+    font-style: normal;
+    font-weight: normal;
+    font-size: 24px;
+    line-height: 1;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    content: "\f055";
+  }
+
+  .add-row-highlight {
+    min-height: 10px;
+    background-color: #CCC;
+  }
+
+  .spinedit-cnt div.spinedit .fa-chevron-up {
+    top: -7px;
+    color: #666;
+  }
+
+  .spinedit-cnt div.spinedit .fa-chevron-down {
+    top: 7px;
+    left: -4px;
+    color: #666;
+  }
+
+  .facet-field-cnt {
+    margin-bottom: 6px;
+  }
+
+  .facet-field-switch {
+    display: inline;
+    margin-top: 10px;
+    margin-left: 3px;
+  }
+
+  .facet-field-label {
+    color: #333;
+    font-size: 11px;
+    margin-bottom: 2px;
+    margin-right: 4px;
+    text-transform: uppercase;
+    text-shadow: 1px 1px 0 #fff;
+  }
+
+  .facet-field-label-fixed-width {
+    width: 90px;
+    text-align: right;
+    padding-right: 8px;
+    display: inline-block;
+  }
+
+  .facet-field-label-fixed-width-double {
+    width: 180px;
+  }
+
+  .facet-field-label-title {
+    text-align: left;
+    font-weight: bold;
+    padding-left: 110px;
+  }
+
+  .simpledaterangepicker .left-margin {
+    margin-left: 6px;
+  }
+
+  .facet-field-tile {
+    float: left;
+  }
+
+  .card-column .simpledaterangepicker .input-prepend {
+    margin-left: 3px;
+  }
+
+  .card-column.span2 .facet-field-label-fixed-width {
+    text-align: left;
+    width: auto;
+  }
+
+  .card-column.span2 .facet-field-label-title {
+    padding-left: 0;
+  }
+
+  .card-column.span2 .simpledaterangepicker .facet-field-label-fixed-width {
+    display: block;
+  }
+
+  .card-column.span2 .simpledaterangepicker .input-prepend {
+    display: block;
+    margin-bottom: 5px;
+  }
+
+  .card-column.span2 .simpledaterangepicker .left-margin {
+    margin-left: 0;
+  }
+
+  .card-column.span2 .simpledaterangepicker input[type='text'] {
+    width: 70%;
+  }
+
+  .card-column.span2 .simpledaterangepicker select {
+    margin-bottom: 5px;
+  }
+
+  .card-widget .input-append, .card-widget .input-prepend, .card-widget select, .card-widget input {
+    margin-bottom: 0;
+  }
+
+  .card-column.span2 select {
+    width: 120px;
+  }
+
+  .card-column.span2 .facet-field-tile {
+    float: none;
+  }
+
+  .responsive-facet-toggle-section {
+    margin-bottom: 20px;
+  }
+
+  .floating-facet-toggle-section {
+    margin-bottom: 20px;
+    float: left;
+    margin-right: 20px;
+  }
+
+  @media (min-width: 1360px) {
+    .responsive-facet-toggle-section {
+      margin-bottom: 20px;
+      float: left;
+      margin-right: 20px;
+    }
+  }
+
+  .dimensions-header {
+    border-bottom: none;
+    text-transform: uppercase;
+    font-size: 11px;
+    font-weight: bold;
+    margin-bottom: 3px;
+  }
+
+  .break-on-small-column {
+    display: none;
+  }
+
+  .card-column.span2 .break-on-small-column {
+    display: block;
+  }
+
+  .leaflet-align {
+    text-align: center;
+  }
+
+  .card-column.span2 .leaflet-align {
+    text-align: left;
+  }
+
+  .logs-icon {
+    font-size: 20px;
+    margin-right: 17px;
+  }
+
+  .card-additional {
+    padding: 10px;
+    margin-bottom: 10px;
+    text-align: center;
+  }
+
+  .ace-editor {
+    padding-left: 4px;
+    border-left: 1px solid #FFFFFF;
+    -webkit-transition: border-left-color 0.2s ease;
+    -moz-transition: border-left-color 0.2s ease;
+    -ms-transition: border-left-color 0.2s ease;
+    transition: border-left-color 0.2s ease;
+  }
+}

+ 737 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/less/search.less

@@ -0,0 +1,737 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+.dashboard-search {
+  .dropdown-menu li {
+    font-size: 14px;
+  }
+
+  .dropdown a.dropdown-toggle {
+    padding-left: 10px;
+    padding-right: 10px;
+  }
+
+  .search-bar {
+    background-color: #F5F5F5;
+    border-bottom: 1px solid #e3e3e3;
+    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+    margin: 0;
+    padding: 10px;
+    padding-left: 20px;
+    padding-right: 20px;
+    text-align: left;
+    width: 100%;
+    position: fixed;
+    top: 28px;
+    z-index: 1010;
+  }
+
+  .search-bar form, .search-bar form select {
+    margin-bottom: 0;
+  }
+
+  .search-bar input {
+    margin-left: 10px;
+    padding-right: 20px;
+  }
+
+  .search-bar input.deletable {
+    background-image: url("../art/remove.png");
+    background-repeat: no-repeat;
+    background-position: 99% 50%;
+  }
+
+  .search-bar ul li {
+    text-align: right;
+  }
+
+  .sort-by {
+    font-size: 11px;
+    height: 24px;
+    width: 120px;
+    margin-top: -2px;
+  }
+
+  .nav-header {
+    padding-left: 0 !important;
+    padding-top: 8px;
+  }
+
+  .facet-list {
+    list-style: none outside none;
+    padding: 0;
+    margin: 0;
+  }
+
+  .facet-list li {
+    padding-left: 8px;
+    padding-right: 3px;
+  }
+
+  .facet-list li a {
+    word-wrap: break-word;
+  }
+
+  .counter {
+    color: #999999;
+    font-size: 13px;
+  }
+
+  .pagination {
+    border-radius: 4px 4px 4px 4px;
+    list-style: none outside none;
+    margin: 0 0 20px;
+    padding: 8px 15px;
+  }
+
+  .results.container {
+    width: 1180px;
+  }
+
+  .results.span2 {
+    width: 180px;
+  }
+
+  .results.span10 {
+    width: 980px;
+  }
+
+  .results.span12 {
+    width: 1180px;
+  }
+
+  .errorlist {
+    display: none;
+  }
+
+  .breadcrumb {
+    background-color: #FFFFFF;
+    padding-left: 0;
+    margin-bottom: 0;
+  }
+
+  .result-container {
+    margin-top: 20px;
+  }
+
+  .facetItem {
+    display: none;
+  }
+
+  .selectMask {
+    background-color: #F9F9F9;
+    background-image: linear-gradient(to bottom, #FFFFFF, #F1F1F1);
+    background-repeat: repeat-x;
+    border: 1px solid #C0C0C0;
+    border-right-color: rgba(0, 0, 0, 0.1);
+    border-radius: 2px;
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0;
+    box-shadow: none;
+    color: #444444;
+    display: inline-block;
+    font-size: 13px;
+    height: 29px;
+    line-height: 29px;
+    margin: 0;
+    margin-left: 5px;
+    min-height: 29px;
+    min-width: 120px;
+    padding: 0 8px;
+    text-shadow: none;
+    vertical-align: middle;
+    overflow: hidden;
+    text-overflow: ellipsis;
+  }
+
+  .search-query {
+    border-bottom-left-radius: 0 !important;
+    border-top-left-radius: 0 !important;
+    margin-left: 0 !important;
+    border-left: 0 !important;
+  }
+
+  .download-btn-group {
+    min-width: auto;
+  }
+
+  .download-btn-group > ul > li {
+    text-align: left;
+  }
+
+  em {
+    font-weight: bold;
+    background-color: yellow;
+  }
+
+  .fields-chooser li {
+    cursor: pointer;
+    margin-bottom: 10px;
+  }
+
+  .fields-chooser li .badge {
+    font-weight: normal;
+    font-size: 12px;
+  }
+
+  .badge-left {
+    border-radius: 9px 0px 0px 9px;
+    padding-right: 5px;
+  }
+
+  .badge-right {
+    border-radius: 0px 9px 9px 0px;
+    padding-left: 5px;
+  }
+
+  .trash-filter {
+    cursor: pointer;
+  }
+
+  .editable-click {
+    cursor: pointer;
+  }
+
+  .CodeMirror {
+    border: 1px dotted #DDDDDD;
+  }
+
+  [contenteditable=true] {
+    border: 1px dotted #DDDDDD;
+    outline: 0;
+    margin-top: 20px;
+    margin-bottom: 20px;
+    min-height: 150px;
+  }
+
+  [contenteditable=true] [class*="span"], .tmpl [class*="span"] {
+    background-color: #eee;
+    -webkit-border-radius: 3px;
+    -moz-border-radius: 3px;
+    border-radius: 3px;
+    min-height: 40px;
+    line-height: 40px;
+    background-color: #F3F3F3;
+    border: 2px dashed #DDD;
+  }
+
+  .tmpl {
+    margin: 10px;
+    height: 60px;
+  }
+
+  .tmpl [class*="span"] {
+    color: #999;
+    font-size: 12px;
+    text-align: center;
+    font-weight: bold;
+  }
+
+  .editor-title {
+    font-weight: bold;
+    color: #262626;
+    border-bottom: 1px solid #338bb8;
+  }
+
+  .document-details-actions {
+    background-color: #F6F6F6;
+    padding: 10px;
+    margin-top: 8px;
+  }
+
+  .document-details-actions a {
+    display: table;
+  }
+
+  .document-details {
+    padding: 10px;
+    border-left: 1px solid #e5e5e5;
+    width: 93%;
+  }
+
+  .document-details td, .document-details th {
+    height: 28px;
+    vertical-align: middle;
+  }
+
+  .document-details tr.readonly:hover {
+    background-color: #F6F6F6;
+  }
+
+  .result-row:nth-child(even) {
+    background-color: #F6F6F6;
+  }
+
+  .result-row td {
+    white-space: nowrap;
+    padding: 3px;
+  }
+
+  .result-container thead tr {
+    border-bottom: 1px solid #e5e5e5;
+    text-align: left;
+  }
+
+  .result-container td {
+    border-right: 1px solid #e5e5e5;
+  }
+
+  .result-container .show-details-icon {
+    text-align: center;
+    height: 8px;
+    padding: 0;
+    line-height: 8px;
+    border-top: 1px solid #FFF;
+  }
+
+  .result-container .show-details-icon:hover {
+    border-top-color: #DDD;
+  }
+
+  .result-container .show-details-icon i {
+    color: #D1D1D1;
+  }
+
+  .result-container .show-details-icon:hover i {
+    color: #338bb8;
+  }
+
+  .result-sorting th {
+    border-top: 3px solid #FFFFFF !important;
+    padding-left: 3px !important;
+    padding-right: 4px !important;
+    vertical-align: middle !important;
+  }
+
+  .result-sorting th:hover {
+    border-top: 3px solid #EEEEEE !important;
+  }
+
+  .result-sorting th span, .result-sorting th i {
+    cursor: pointer;
+  }
+
+  .demi-modal {
+    min-height: 80px;
+  }
+
+  .filter-box {
+    float: left;
+    margin-right: 10px;
+    margin-bottom: 10px;
+  }
+
+  .filter-box .title {
+    font-weight: bold;
+    color: #333;
+    padding: 5px;
+    border: 1px solid #d8d8d8;
+    background-color: #F6F6F6;
+    border-bottom: none;
+    -webkit-border-radius: 3px 3px 0 0;
+    -moz-border-radius: 3px 3px 0 0;
+    border-radius: 3px 3px 0 0;
+  }
+
+  .filter-box .title a {
+    color: #333;
+  }
+
+  .filter-box .title.excluded {
+    background-color: #d84a38;
+  }
+
+  .filter-box .content {
+    padding: 8px;
+    background-color: #FFFFFF;
+    border: 1px solid #d8d8d8;
+    border-top: none;
+    -webkit-border-radius: 0 0 3px 3px;
+    -moz-border-radius: 0 0 3px 3px;
+    border-radius: 0 0 3px 3px;
+  }
+
+  .filter-box .content-readonly {
+    border: none !important;
+  }
+
+  .filter-box .content-readonly strong {
+    margin-right: 6px;
+    line-height: 30px;
+  }
+  .filter-box .content-readonly .spinedit-cnt {
+    margin-left: 4px;
+  }
+
+  .filter-box:hover {
+    opacity: 1 !important;
+  }
+
+  .filter-box:hover .title, .filter-box:hover .content {
+    border: 1px solid #d8d8d8 !important;
+  }
+
+  .filter-box:hover .content-readonly {
+    border: none !important;
+  }
+
+  .filter-box:hover .title {
+    border-bottom: none !important;
+  }
+
+  .filter-box:hover .content {
+    border-top: none !important;
+  }
+
+  .filter-box .selectize-control {
+    margin-bottom: -10px;
+    margin-top: -6px;
+    margin-left: -6px;
+  }
+
+  .field-selector {
+    display: inline-block;
+    margin-left: 3px;
+    min-height: 20px;
+    line-height: 20px
+  }
+
+  .field-selector.hoverable {
+    cursor: pointer;
+  }
+
+  .field-selector.hoverable:hover {
+    background-color: #DDD;
+  }
+
+  .fa.analysis {
+    margin-top: 3px;
+    margin-right: 3px;
+  }
+
+  .fa.analysis:hover {
+    color: #333;
+  }
+
+  .typeahead {
+    z-index: 10000;
+  }
+
+  .trigger-exclude {
+    margin-left: 4px;
+  }
+
+  .trigger-exclude .hellip {
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    overflow: hidden;
+  }
+
+  .trigger-exclude .exclude {
+    display: none;
+    float: right;
+    margin-right: 3px;
+  }
+
+  .trigger-exclude .include {
+    float: right;
+    margin-right: 3px;
+  }
+
+  .trigger-exclude:hover {
+    background-color: #F6F6F6;
+    text-decoration: none;
+  }
+
+  .trigger-exclude:hover .exclude {
+    display: inline-block;
+  }
+
+  .fa-sign-out.red {
+    color: #d84a38;
+  }
+
+  .hue-tree {
+    width: 100%;
+    overflow-y: scroll;
+    min-height: 100px;
+  }
+
+  .hue-tree ul {
+    list-style-type: none;
+    padding: 0;
+  }
+
+  .tree {
+    margin: 20px;
+  }
+
+  .table tbody tr:hover > td,
+  .table tbody tr:hover > th,
+  .table tbody tr:hover td, .table tbody tr:hover th {
+    background-color: transparent !important;
+  }
+
+  .pivot-cell {
+    cursor: pointer;
+  }
+
+  .pivot-cell.selected {
+    border: 2px dashed #CCC;
+  }
+
+  .partitionChart {
+    display: block;
+    margin: auto;
+    margin-top: 10px;
+    font-size: 11px;
+  }
+
+  .partitionChart rect {
+    fill-opacity: .8;
+  }
+
+  .partitionChart rect.mouseover {
+    fill-opacity: 1 !important;
+  }
+
+  .partitionChart rect.parent {
+    cursor: pointer;
+  }
+
+  .partitionChart text {
+    pointer-events: none;
+    fill: #212121;
+  }
+
+  .d3-tip {
+    line-height: 1;
+    font-weight: bold;
+    padding: 12px;
+    background: rgba(0, 0, 0, 0.8);
+    color: #fff;
+    border-radius: 2px;
+    pointer-events: none;
+    margin-top: 5px;
+  }
+
+  /* Creates a small triangle extender for the tooltip */
+  .d3-tip:after {
+    box-sizing: border-box;
+    display: inline;
+    font-size: 10px;
+    width: 100%;
+    line-height: 1;
+    color: rgba(0, 0, 0, 0.8);
+    position: absolute;
+    pointer-events: none;
+  }
+
+  /* Northward tooltips */
+  .d3-tip.n:after {
+    content: "\25BC";
+    margin: -3px 0 0 0;
+    top: 100%;
+    left: 0;
+    text-align: center;
+  }
+
+  /* Eastward tooltips */
+  .d3-tip.e:after {
+    content: "\25C0";
+    margin: -4px 0 0 0;
+    top: 50%;
+    left: -8px;
+  }
+
+  /* Southward tooltips */
+  .d3-tip.s:after {
+    content: "\25B2";
+    margin: 0 0 1px 0;
+    top: -8px;
+    left: 0;
+    text-align: center;
+  }
+
+  /* Westward tooltips */
+  .d3-tip.w:after {
+    content: "\25B6";
+    margin: -4px 0 0 -1px;
+    top: 50%;
+    left: 100%;
+  }
+
+  .card-column {
+    min-height: 400px !important;
+  }
+
+  .map-scope {
+    position: absolute;
+    margin-left: 51px;
+    margin-top: 130px;
+  }
+
+  .card-column.span2 .map-scope {
+    margin-left: 0;
+  }
+
+  .big-counter {
+    font-size: 4em;
+    letter-spacing: .1em;
+    line-height: 1.45;
+    text-align: center;
+    width: 100%;
+    display: table;
+  }
+
+  .fields-list {
+    max-height: 230px;
+    max-width: 400px;
+    overflow-y: auto;
+    padding-left: 4px;
+  }
+
+  .datepicker {
+    z-index: 1051;
+  }
+
+  .qdefinitions {
+    margin-top: 5px;
+  }
+
+  .qdefinitions li {
+    display: inline;
+    margin-right: 10px;
+  }
+
+  .hit-options {
+    width: 100px;
+  }
+
+  .hit-title {
+    float: left;
+    max-width: 160px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+  }
+
+  .grid-th {
+    text-align: left;
+    white-space: nowrap;
+    padding-right: 20px;
+  }
+
+  .grid-row {
+    position: relative;
+    display: block;
+    height: auto;
+    width: 100%;
+  }
+
+  .grid-left-bar {
+    position: absolute;
+    display: inline-block;
+    height: auto;
+    left: 0;
+    top: 0;
+    bottom: 0;
+    width: 35px;
+  }
+
+  .grid-results {
+    margin-left: 35px;
+    margin-right: 20px;
+    position: relative;
+  }
+
+  .grid-side-btn {
+    color: #DBE8F1;
+    display: inline-block;
+    line-height: 27px;
+    height: 27px;
+    min-height: 27px;
+    padding: 0 7px;
+    margin: 0;
+    font-size: 13px;
+    cursor: pointer;
+    -webkit-transition: color 0.2s ease;
+    -moz-transition: color 0.2s ease;
+    -ms-transition: color 0.2s ease;
+    transition: color 0.2s ease;
+  }
+
+  .grid-side-btn.disabled {
+    cursor: default !important;
+    color: #DBE8F1 !important;
+  }
+
+  .grid-side-btn:focus {
+    color: #DBE8F1;
+  }
+
+  .grid-side-btn.active {
+    color: #338bb8;
+  }
+
+  .grid-side-btn:hover {
+    color: #338bb8;
+  }
+
+  .card-widget .selectize-control {
+    width: 200px;
+    display: inline-block;
+    vertical-align: middle;
+  }
+
+  @media screen and (max-width: 1000px) {
+    .card-widget, .card-column {
+      float: left !important;
+      width: 100% !important;
+      margin-left: 0 !important;
+    }
+
+    .search-bar > .pull-right {
+      display: block;
+      text-align: center;
+      float: none !important;
+      margin-bottom: 5px;
+    }
+
+    .search-bar {
+      text-align: center;
+    }
+
+    .search-bar input {
+      border-left: 1px solid #c0c0c0 !important;
+    }
+
+    .dashboard {
+      margin-top: 60px;
+    }
+
+    .with-top-margin {
+      margin-top: 120px;
+    }
+
+    .form-search > strong, .form-search > .input-append .selectMask, .form-search > .input-append a.btn, .form-search > .time-filter, .form-search > .time-fixed-filter {
+      display: none;
+    }
+  }
+}

+ 47 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/less/search_mobile.less

@@ -0,0 +1,47 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+.dashboard-search {
+  .card-column, .ui-sortable {
+    min-height: 0 !important;
+  }
+
+  .dashboard {
+    margin-top: 0 !important;
+  }
+
+  .card {
+    padding-top: 0 !important;
+  }
+
+  .card-widget {
+    padding-top: 10px !important;
+  }
+
+  .dashboard .container-fluid {
+    padding: 0 !important;
+  }
+
+  .form-search .input-append {
+    width: 100%;
+  }
+
+  .form-search .input-append input {
+    width: 80%;
+  }
+}

+ 2 - 0
desktop/libs/dashboard/src/dashboard/templates/admin_collections.mako

@@ -25,7 +25,9 @@
 ${ commonheader(_('Dashboard'), "dashboard", user, request, "29px") | n,unicode }
 %endif
 
+<div class="dashboard-admin">
 ${ common_admin_collections.page_structure() }
+</div>
 
 %if not is_embeddable:
 ${ commonfooter(request, messages) | n,unicode }

+ 2 - 0
desktop/libs/dashboard/src/dashboard/templates/admin_collections_m.mako

@@ -23,6 +23,8 @@
 
 ${ commonheader_m(_('Dashboard'), "dashboard", user, request, "29px") | n,unicode }
 
+<div class="dashboard-admin">
 ${ common_admin_collections.page_structure(True) }
+</div>
 
 ${ commonfooter_m(request, messages) | n,unicode }

+ 1 - 1
desktop/libs/dashboard/src/dashboard/templates/search.mako

@@ -29,7 +29,7 @@ ${ commonheader(_('Dashboard'), "dashboard", user, request, "80px") | n,unicode
 ${ notebookKoComponents.downloadSnippetResults() }
 %endif
 
-<div id="searchComponents">
+<div id="searchComponents" class="dashboard-search">
 ${ common_search.page_structure(is_embeddable) }
 </div>
 

+ 1 - 1
desktop/libs/dashboard/src/dashboard/templates/search_m.mako

@@ -29,7 +29,7 @@ ${ commonheader_m(_('Dashboard'), "dashboard", user, request, "80px") | n,unicod
 ${ notebookKoComponents.downloadSnippetResults() }
 
 
-<div id="searchComponents">
+<div id="searchComponents" class="dashboard-search">
 ${ common_search.page_structure(is_mobile=True) }
 </div>
 

+ 1 - 1
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -26,7 +26,7 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 %>
 
 <%def name="includes(is_embeddable=False)">
-<link rel="stylesheet" href="${ static('desktop/css/common_dashboard.css') }">
+<link rel="stylesheet" href="${ static('dashboard/css/common_dashboard.css') }">
 % if not is_embeddable:
 <link rel="stylesheet" href="${ static('notebook/css/notebook-layout.css') }">
 % endif

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor