LP1716473 Copy edit hide defaults WIP
authorBill Erickson <berickxx@gmail.com>
Mon, 4 Mar 2019 19:06:59 +0000 (14:06 -0500)
committerBill Erickson <berickxx@gmail.com>
Mon, 4 Mar 2019 19:06:59 +0000 (14:06 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2
Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2

index 7e58ebb..a01e06c 100644 (file)
@@ -5,7 +5,33 @@
   .css-form select.ng-invalid {
     background-color: #FA787E;
   }
+
+  ul.copy-attributes-grid {
+      list-style: none;
+      display: flex;
+      flex-wrap: wrap;
+  }
+
+  ul.copy-attributes-grid > li {
+    padding: 5px;
+    margin: 5px;
+    /* Force the grid to overflow to the next line every 4 entries
+         while leaving some wiggle space for padding/margins */
+    flex-basis: 23%;
+    display: flex;
+    flex-direction: column;
+  }
+
+  ul.copy-attributes-grid > li > div {
+      flex: 1;
+  }
+
+  ul.copy-attributes-grid li label {
+      font-weight: bold;
+      padding-left: 10px;
+  }
 </style>
+
 <div class="container-fluid"><form novalidate class="css-form" name="forms.myForm">
     <div class="row bg-info">
         <div class="col-md-1">
         </div>
     </div>
 
-    <div class="row pad-vert"></div>
-
-    <div class="row bg-info">
-        <div class="col-md-4">
-            <b>[% l('Circulate?') %]</b>
-        </div>
-        <div class="col-md-4">
-            <b>[% l('Status') %]</b>
-        </div>
-        <div class="col-md-4">
-            <b>[% l('Statistical Categories') %]</b>
-        </div>
-    </div>
-
-    <div class="row">
-        <div class="col-md-8">
-            <div class="row">
-                <div class="col-md-6" ng-class="{'bg-success': working.circulate !== undefined}">
-                    <div class="row">
-                        <div class="col-xs-3">
-                            <label>
-                                <input type="radio" ng-disabled="!defaults.attributes.circulate" ng-model="working.circulate" value="t"/>
-                                [% l('Yes') %]
-                            </label>
-                        </div>
-                        <div class="col-xs-3">
-                            <label>
-                                <input type="radio" ng-disabled="!defaults.attributes.circulate" ng-model="working.circulate" value="f"/>
-                                [% l('No') %]
-                            </label>
-                        </div>
-                    </div>
-                    <div class="container" ng-show="working.MultiMap.circulate.length > 1 && working.circulate === undefined">
-                        <eg-list-counts label="[% l('Multiple values') %]" list="working.MultiMap.circulate" render="labelYesNo" on-select="select_by_circulate"></eg-list-counts>
-                    </div>
-                </div>
-                <div class="col-md-6" ng-class="{'bg-success': working.status !== undefined}">
-                    <select class="form-control"
-                        ng-disabled="!defaults.attributes.status" ng-model="working.status"
-                        ng-options="s.id() as s.name() disable when magic_status_list.indexOf(s.id(),0) > -1 for s in status_list">
-                    </select>
-                    <div class="container" ng-show="working.MultiMap.status.length > 1 && working.status === undefined">
-                        <eg-list-counts label="[% l('Multiple statuses') %]" list="working.MultiMap.status" render="statusName" on-select="select_by_status"></eg-list-counts>
-                    </div>
+    <ul class="copy-attributes-grid">
+        <li ng-if="defaults.attributes.circulate">
+            <div class="bg-info"><label>[% l('Circulate?') %]</label></div>
+            <div ng-class="{'bg-success': working.circulate !== undefined}">
+                <div class="col-lg-6">
+                    <label>
+                        <input type="radio" ng-model="working.circulate" value="t"/>
+                        [% l('Yes') %]
+                    </label>
+                </div>
+                <div class="col-lg-6">
+                    <label>
+                        <input type="radio" ng-model="working.circulate" value="f"/>
+                        [% l('No') %]
+                    </label>
                 </div>
             </div>
-
-            <div class="row pad-vert"></div>
-
-            <div class="row bg-info">
-                <div class="col-md-6">
-                    <b>[% l('Circulation Library') %]</b>
-                </div>
-                <div class="col-md-6">
-                    <b>[% l('Reference?') %]</b>
-                </div>
+        </li>
+        <li ng-if="defaults.attributes.status">
+            <div class="bg-info"><label>[% l('Status') %]</label></div>
+            <div ng-class="{'bg-success': working.status !== undefined}">
+                <select class="form-control"
+                    ng-disabled="!defaults.attributes.status" ng-model="working.status"
+                    ng-options="s.id() as s.name() disable when magic_status_list.indexOf(s.id(),0) > -1 for s in status_list">
+                </select>
             </div>
-
-            <div class="row">
-                <div class="col-md-6" ng-class="{'bg-success': working.circ_lib !== undefined}">
+            <div ng-if="working.MultiMap.status.length > 1 && working.status === undefined">
+                <eg-list-counts label="[% l('Multiple statuses') %]"
+                    list="working.MultiMap.status" render="statusName"
+                    on-select="select_by_status">
+                </eg-list-counts>
+            </div>
+        </li>
+        <li ng-if="defaults.attributes.circ_lib">
+            <div class="row bg-info"><label>[% l('Circulating Library') %]</label></div>
+            <div class="row" ng-class="{'bg-success': working.circ_lib !== undefined}">
+                <div class="col-lg-12">
                     <eg-org-selector
                         alldisabled="{{!defaults.attributes.circ_lib}}"
                         selected="working.circ_lib"
                         noDefault
                         label="[% l('(Unset)') %]"
-                        disable-test="cant_have_vols"
-                    ></eg-org-selector>
-                    <div class="container" ng-show="working.MultiMap.circ_lib.length > 1 && working.circ_lib === undefined">
-                        <eg-list-counts label="[% l('Multiple values') %]" list="working.MultiMap.circ_lib" render="orgShortname" on-select="select_by_circ_lib"></eg-list-counts>
+                        disable-test="cant_have_vols">
+                    </eg-org-selector>
+                    <div class="container"
+                        ng-show="working.MultiMap.circ_lib.length > 1 && working.circ_lib === undefined">
+                        <eg-list-counts label="[% l('Multiple values') %]"
+                            list="working.MultiMap.circ_lib" render="orgShortname"
+                            on-select="select_by_circ_lib">
+                        </eg-list-counts>
                     </div>
                 </div>
-                <div class="col-md-6" ng-class="{'bg-success': working.ref !== undefined}">
-                    <div class="row">
-                        <div class="col-xs-3">
-                            <label>
-                                <input type="radio" ng-disabled="!defaults.attributes.ref" ng-model="working.ref" value="t"/>
-                                [% l('Yes') %]
-                            </label>
-                        </div>
-                        <div class="col-xs-3">
-                            <label>
-                                <input type="radio" ng-disabled="!defaults.attributes.ref" ng-model="working.ref" value="f"/>
-                                [% l('No') %]
-                            </label>
-                        </div>
-                    </div>
-                    <div class="container" ng-show="working.MultiMap.ref.length > 1 && working.ref === undefined">
-                        <eg-list-counts label="[% l('Multiple values') %]" list="working.MultiMap.ref" render="labelYesNo" on-select="select_by_ref"></eg-list-counts>
-                    </div>
+            </div>
+        </li>
+        <li ng-if="defaults.attributes.ref">
+            <div class="row bg-info"><label>[% l('Reference?') %]</label></div>
+            <div class="row" ng-class="{'bg-success': working.ref !== undefined}">
+                <div class="col-lg-6">
+                    <label>
+                        <input type="radio" ng-disabled="!defaults.attributes.ref"
+                            ng-model="working.ref" value="t"/>
+                        [% l('Yes') %]
+                    </label>
+                </div>
+                <div class="col-lg-6">
+                    <label>
+                    <input type="radio" ng-disabled="!defaults.attributes.ref"
+                        ng-model="working.ref" value="f"/>
+                        [% l('No') %]
+                    </label>
                 </div>
             </div>
+            <div class="container"
+                ng-show="working.MultiMap.ref.length > 1 && working.ref === undefined">
+                <eg-list-counts label="[% l('Multiple values') %]"
+                    list="working.MultiMap.ref" render="labelYesNo" on-select="select_by_ref">
+                </eg-list-counts>
+            </div>
+        </li>
+        <li ng-if="defaults.attributes.location">
+            <div class="row bg-info"><label>[% l('Shelving Location') %]</label></div>
+            <div class="row" ng-class="{'bg-success': working.location !== undefined}">
+            <div class="col-lg-12">
+                <select class="form-control"
+                    ng-disabled="!defaults.attributes.location" ng-model="working.location"
+                    ng-options="l.id() as i18n.ou_qualified_location_name(l) for l in location_list">
+                </select>
+            </div>
+            <div class="container"
+                ng-show="working.MultiMap.location.length > 1 && working.location === undefined">
+                <eg-list-counts label="[% l('Multiple locations') %]"
+                    list="working.MultiMap.location" render="locationName"
+                    on-select="select_by_location"></eg-list-counts>
+            </div>
+        </li>
+    </ul>
 
-            <div class="row pad-vert"></div>
+    <hr/><hr/>
+
+    <div class="row bg-info">
+        <div class="col-md-4">
+            <b>[% l('Statistical Categories') %]</b>
+        </div>
+    </div>
 
+    <div class="row">
+        <div class="col-md-8">
             <div class="row bg-info">
                 <div class="col-md-6">
-                    <b>[% l('Shelving Location') %]</b>
-                </div>
-                <div class="col-md-6">
                     <b>[% l('OPAC Visible?') %]</b>
                 </div>
             </div>
 
             <div class="row">
-                <div class="col-md-6" ng-class="{'bg-success': working.location !== undefined}">
-                    <select class="form-control"
-                        ng-disabled="!defaults.attributes.location" ng-model="working.location"
-                        ng-options="l.id() as i18n.ou_qualified_location_name(l) for l in location_list"
-                    ></select>
-                    <div class="container" ng-show="working.MultiMap.location.length > 1 && working.location === undefined">
-                        <eg-list-counts label="[% l('Multiple locations') %]" list="working.MultiMap.location" render="locationName" on-select="select_by_location"></eg-list-counts>
-                    </div>
-                </div>
                 <div class="col-md-6" ng-class="{'bg-success': working.opac_visible !== undefined}">
                     <div class="row">
                         <div class="col-xs-3">
index 7d32580..bfbfd7f 100644 (file)
         <div class="tab-content">
           <div class="tab-pane active">
             <div ng-show="copytab == 'working'">
-        
+
             <div class="container-fluid"> <!-- working copy editor -->
+                <div class="row give-cell-border">
+                    <div class="col-lg-12" style="margin:0px;padding:0px"
+                        <div ng-include="'[% ctx.base_path %]/staff/cat/volcopy/t_attr_edit'"></div>
+                    </div>
+                </div>
                 <div class="row">
-                    <div class="col-lg-4">
-        
+                    <div class="col-lg-12">
+
                         <eg-grid
                           id-field="id"
                           idl-class="acp"
                           after-select="afterItemSelect"
                           persist-key="cat.volcopy.copies"
                           dateformat="{{$root.egDateAndTimeFormat}}">
-        
+
                           <eg-grid-menu-item disabled="disableSave" handler="workingToComplete"
                            label="[% l('Store Selected') %]"></eg-grid-menu-item>
                           <eg-grid-menu-item disabled="disableSave" handler="workingSaveAndExit"
                            label="[% l('Save & Exit') %]"></eg-grid-menu-item>
-        
-                        
+
+
                           <eg-grid-field label="[% l('Barcode') %]"     path='barcode' visible></eg-grid-field>
                           <eg-grid-field label="[% l('Created') %]"     path="create_date" datatype="timestamp" visible></eg-grid-field>
                           <eg-grid-field label="[% l('Activated') %]"   path="active_date" visible></eg-grid-field>
                           <eg-grid-field label="[% l('Call Number') %]" path="call_number.label" visible></eg-grid-field>
                           <eg-grid-field label="[% l('CN Suffix') %]" path="call_number.suffix.label" visible></eg-grid-field>
                           <eg-grid-field label="[% l('Item ID') %]"     path="id" hidden></eg-grid-field>
-                        
+
                         </eg-grid>
-        
-                    </div>
-        
-                    <div class="col-lg-8 give-cell-border">
-                        <div ng-include="'[% ctx.base_path %]/staff/cat/volcopy/t_attr_edit'"></div>
+
                     </div>
                 </div>
             </div>
-        
-            </div>
+
             <div ng-show="copytab == 'complete'">
                <eg-grid
                  id-field="id"
                  grid-controls="completedGridControls"
                  persist-key="cat.volcopy.copies.complete"
                  dateformat="{{$root.egDateAndTimeFormat}}">
-               
+
                  <eg-grid-menu-item standalone="true" handler="completeToWorking"
                   label="[% l('Edit Selected') %]"></eg-grid-menu-item>
-        
+
                  <eg-grid-menu-item disabled="disableSave" handler="saveAndContinue"
                   label="[% l('Save Completed') %]"></eg-grid-menu-item>
                  <eg-grid-menu-item disabled="disableSave" handler="saveAndExit"
                   label="[% l('Save & Exit') %]"></eg-grid-menu-item>
-        
+
                  <eg-grid-field label="[% l('Barcode') %]"     path='barcode' visible></eg-grid-field>
                  <eg-grid-field label="[% l('Created') %]"     path="create_date" datatype="timestamp" visible></eg-grid-field>
                  <eg-grid-field label="[% l('Activated') %]"   path="active_date" datatype="timestamp" visible></eg-grid-field>