मिराज 2 थीम के साथ डीस्पेस एक्सएमएलयूआई में, मैं सबमिशन पेज पर "पूल में टास्क" और "टास्क यू ओन" टेबल को सॉर्ट करने योग्य और फ़िल्टर करने योग्य बनाना चाहता हूं। मैं उसको कैसे करू?

1
schweerelos 3 जुलाई 2017, 01:55

1 उत्तर

सबसे बढ़िया उत्तर

पारंपरिक DSpace वर्कफ़्लो बनाम कॉन्फ़िगर करने योग्य वर्कफ़्लो का उपयोग किया जाता है या नहीं, इस पर रणनीति थोड़ी भिन्न होती है।

नीचे दिए गए उत्तर डीस्पेस 5 के लिए हैं; अन्य DSpace संस्करणों के लिए परिवर्तनों को थोड़ा भिन्न करने की आवश्यकता हो सकती है।

कार्य तालिकाओं के लिए अद्वितीय आईडी (केवल पारंपरिक DSpace कार्यप्रवाह)

ठीक करने वाला पहला मुद्दा यह है कि दो तालिकाओं में एक ही आईडी है। दो तालिकाओं के लिए अलग-अलग आईडी बनाने के लिए dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/xmlworkflow/Submissions.java बदलें।

        // Tasks you own
-       Table table = workflow.addTable("workflow-tasks",ownedItems.size() + 2,5);
+       Table table = workflow.addTable("workflow-tasks-owned",ownedItems.size() + 2,5);    
        table.setHead(T_w_head2);

और इसी तरह पूल में टास्क के लिए और नीचे उसी फाइल में।

टेबल संरचना ठीक करें

इसमें कुछ टेम्प्लेट जोड़ें जो सुनिश्चित करें कि तालिकाओं में thead / tbody / tfoot संरचना है।

   <xsl:template match="dri:table[@n='workflow-tasks-pooled' or @n='workflow-tasks-owned']">
           <xsl:apply-templates select="dri:head"/>
           <div class="table-responsive">
                   <table>
                           <xsl:call-template name="standardAttributes">
                                   <xsl:with-param name="class">ds-table table table-striped table-hover</xsl:with-param>
                           </xsl:call-template>
                           <xsl:apply-templates select="dri:row[1]"/>
                           <tbody>
                                   <xsl:apply-templates select="dri:row[position()!=1 and position()!=last()]"/>
                           </tbody>
                           <xsl:apply-templates select="dri:row[last()]"/>
                   </table>
           </div>
   </xsl:template>

   <xsl:template match="dri:table[@n='workflow-tasks-pooled' or @n='workflow-tasks-owned']/dri:row[@role='header']">
           <thead>
           <tr class="ds-table-header-row">
                   <xsl:apply-templates select="dri:cell"/>
           </tr>
           </thead>
   </xsl:template>

   <xsl:template match="dri:table[@n='workflow-tasks-pooled' or @n='workflow-tasks-owned']/dri:row[last()]">
           <tfoot>
                   <tr>
                           <xsl:apply-templates select="dri:cell"/>
                   </tr>
           </tfoot>
   </xsl:template>

JavaScript/CSS पथ ठीक करें

dspace-xmlui-mirage2/src/main/webapp/styles/classic_mirage_color_scheme/_main.scss में आयात बिल्कुल सही नहीं है। उन्हें इस तरह ठीक करें:

index bc58570..95444c7 100644
--- a/dspace-xmlui-mirage2/src/main/webapp/styles/classic_mirage_color_scheme/_main.scss
+++ b/dspace-xmlui-mirage2/src/main/webapp/styles/classic_mirage_color_scheme/_main.scss
@@ -31,8 +31,8 @@
 @import "classic_mirage_color_scheme/vocabulary-support";

 @import "classic_mirage_color_scheme/jquery_ui";
-@import "classic_mirage_color_scheme/dataTables.bootstrap";
+//@import "classic_mirage_color_scheme/dataTables.bootstrap";
 @import "shared/dspace-bootstrap-tweaks";
 @import "../vendor/jquery-ui/themes/base/jquery-ui.css";
-@import "../vendor/datatables/media/css/jquery.dataTables.min.css";
+@import "../vendor/datatables/media/css/dataTables.bootstrap.css";
 @import "style";

डेटाटेबल्स कार्यक्षमता सक्रिय करें

फिर, theme.js में निम्नलिखित जोड़कर datatables कार्यक्षमता को सक्रिय करें। कॉन्फ़िगरेशन में स्वैप करें जो आपके लिए काम करता है -- नीचे दिए गए परिवर्तन होंगे

  • तालिका में कम से कम 5 आइटम होने पर पेजिनेशन और फ़िल्टरिंग सक्षम करें;
  • पहले (जिसमें चेकबॉक्स होते हैं) को छोड़कर सभी स्तंभों द्वारा छँटाई की अनुमति दें;
  • डिफ़ॉल्ट रूप से छँटाई अक्षम करें; तथा
  • कुछ भाषा में बदलाव करें।

यदि आप पारंपरिक कार्यप्रवाह का उपयोग कर रहे हैं तो आपको आईडी समायोजित करने की आवश्यकता होगी।

$(function() {
var poolTable = $('#aspect_xmlworkflow_Submissions_table_workflow-tasks-pooled');
poolTable.DataTable({
    "paging": poolTable.find("tbody tr").size() >= 5,
    "autoWidth": true,
    "info": false,
    "searching": poolTable.find("tbody tr").size() >= 5,
    "columnDefs": [
        { targets: 0, orderable: false, searchable: false }
    ],
    "order": [],
    "oLanguage" : {
        "sSearch": "Filter tasks:"
    }
});
poolTable.closest(".dataTables_wrapper").before("<p class='help'>Click on a column header to sort the table by that column.</p>");

var ownedTable = $('#aspect_xmlworkflow_Submissions_table_workflow-tasks-owned');
ownedTable.DataTable({
    "paging": ownedTable.find("tbody tr").size() >= 5,
    "autoWidth": true,
    "info": false,
    "searching": ownedTable.find("tbody tr").size() >= 5,
    "columnDefs": [
        { targets: 0, orderable: false, searchable: false }
    ],
    "order": []
});
ownedTable.closest(".dataTables_wrapper").before("<p class='help'>Click on a column header to sort the table by that column.</p>");
});
0
schweerelos 3 जुलाई 2017, 01:55