⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datatable.js

📁 这是YUI的源码及相关示例。里面有很多很炫的Javascript效果。
💻 JS
📖 第 1 页 / 共 5 页
字号:
            Assert.areSame("", dt.getMsgTbodyEl().rows[0].cells[0].style.display, "Expected message displayed");
            Assert.areSame(true, Dom.hasClass(dt.getMsgTbodyEl().rows[0].cells[0], "yui-dt-empty"), "Expected empty message");
        },

        testDeleteThenInsertRows: function() {
            var dt = this.createInstance();
            dt.deleteRow(0);
            dt.deleteRow(0);
            dt.deleteRow(0);
            dt.deleteRow(0);
            dt.addRow({a:"4a",b:"4b",c:"4c"}, 0);
            
            var nRecordsLength = dt.getRecordSet().getLength();
            var nTrElsLength = dt.getTbodyEl().rows.length;
            Assert.areSame(1, nRecordsLength, "Expected 1 Record");
            Assert.areSame(1, nTrElsLength, "Expected 1 TR el");
            
            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Insert 1: Row mismatch");

            dt.addRow({a:"5a",b:"5b",c:"5c"}, 0);
            
            nRecordsLength = dt.getRecordSet().getLength();
            nTrElsLength = dt.getTbodyEl().rows.length;
            Assert.areSame(2, nRecordsLength, "Expected 2 Records");
            Assert.areSame(2, nTrElsLength, "Expected 2 TR els");
            
            elRow = dt.getFirstTrEl();
            oTestRecord = dt._oRecordSet._records[0];
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Insert 2: Row mismatch");

            dt.addRow({a:"6a",b:"6b",c:"6c"}, 0);
            
            nRecordsLength = dt.getRecordSet().getLength();
            nTrElsLength = dt.getTbodyEl().rows.length;
            Assert.areSame(3, nRecordsLength, "Expected 3 Records");
            Assert.areSame(3, nTrElsLength, "Expected 3 TR els");
            
            elRow = dt.getFirstTrEl();
            oTestRecord = dt.getRecord(dt.getFirstTrEl());
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Insert 3: Row mismatch");
        },

        testDeleteInsertThenSortRows: function() {
            var dt = this.createInstance();
            dt.deleteRow(0);
            dt.deleteRow(0);
            dt.deleteRow(0);
            dt.deleteRow(0);
            dt.addRow({a:"4a",b:"4b",c:"4c"}, 0);
            dt.addRow({a:"5a",b:"5b",c:"5c"}, 0);
            dt.addRow({a:"6a",b:"6b",c:"6c"}, 0);
            dt.sortColumn(dt.getColumn(0));

            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Expected row and Record to be in sync");
        }
    });
    var dtRowMutationTest = new DataTableTestCase(dtRowMutationTemplate);

    /**
     *
     *
     * Tests sorting APIs.
     *
     *
     */
    var dtSortingTemplate = YAHOO.lang.merge(dtBaseTemplate, {
        name: "DataTable Sorting Tests",
        
       dsData: [
            {a:0,b:"zero"},
            {a:1,b:"one"},
            {a:2,b:"two"},
            {a:3,b:"three"}
        ],
            
        dsConfig: {
            responseType:YAHOO.util.DataSource.TYPE_JSARRAY,
            responseSchema:{fields:["a","b"]}
        },

        columns: [
            {key:"a",label:"numbers",sortable:true},
            {key:"b",label:"strings",sortable:true}
        ],

        testSortByElementClick: function() {
            var dt = this.createInstance();
            var oColumn = dt.getColumn(1);
            var el = dt.getThEl(oColumn);
            UserAction.click(el);
            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            
            Assert.areSame(oTestRecord.getId(), elRow.id, "Click TH: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Click TH: Row mismatch");

            var childEl = el.firstChild;
            UserAction.click(childEl);
            elRow = dt.getFirstTrEl();
            oTestRecord = dt._oRecordSet._records[0];
            
            Assert.areSame("zero", dt.getRecord(dt.getFirstTrEl()).getData("b"), "Click container: Unexpected data");
            Assert.areSame(oTestRecord.getId(), elRow.id, "Click container: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Click container: Row mismatch");
            
            UserAction.click(childEl);
            elRow = dt.getFirstTrEl();
            oTestRecord = dt._oRecordSet._records[0];
            
            Assert.areSame("one", dt.getRecord(dt.getFirstTrEl()).getData("b"), "Click label: Unexpected data");
            Assert.areSame(oTestRecord.getId(), elRow.id, "Click label: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Click label: Row mismatch");
        },

        testSortNumber: function() {
            var dt = this.createInstance();
            var oColumn = dt.getColumn(0);
            dt.sortColumn(oColumn);
            
            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top asc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom asc: Row mismatch");

            dt.sortColumn(oColumn);
            
            elRow = dt.getFirstTrEl();
            oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top desc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top desc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom desc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom desc: Row mismatch");
        },

        testSortString: function() {
            var dt = this.createInstance();
            var oColumn = dt.getColumn(1);
            dt.sortColumn(oColumn);

            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top asc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom asc: Row mismatch");

            dt.sortColumn(oColumn);
            
            elRow = dt.getFirstTrEl();
            oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top desc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top desc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom desc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom desc: Row mismatch");
        },

        testInsertThenSort: function() {
            var dt = this.createInstance();
            dt.addRow({a:4,b:"four"}, 0)
            dt.sortColumn(dt.getColumn(1));
            
            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top asc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom asc: Row mismatch");
            
            dt.sortColumn(dt.getColumn(1));

            elRow = dt.getFirstTrEl();
            oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top desc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top desc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom desc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom desc: Row mismatch");
        },
        
        testSortThenAppend: function() {
            var dt = this.createInstance();
            dt.sortColumn(dt.getColumn(1));
            dt.addRow({a:4,b:"four"});

            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top asc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom asc: Row mismatch");

            dt.sortColumn(dt.getColumn(1));
            
            elRow = dt.getFirstTrEl();
            oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Top asc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Top desc: Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Bottom desc: Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Bottom desc: Row mismatch");
        },
        
        testDeleteAppendInsertThenSort: function() {
            var dt = this.createInstance();
            dt.deleteRow(dt.getFirstTrEl());
            dt.addRow({a:4,b:"four"});
            dt.addRow({a:5,b:"five"},0);
            dt.sortColumn(dt.getColumn(1));

            var elRow = dt.getFirstTrEl();
            var oTestRecord = dt._oRecordSet._records[0];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Row mismatch");

            elRow = dt.getLastTrEl();
            oTestRecord = dt._oRecordSet._records[dt.getTbodyEl().rows.length-1];
            Assert.areSame(oTestRecord.getId(), elRow.id, "Unexpected DOM ID");
            DataTableAssert.areSameRow(elRow, oTestRecord, dt, "Row mismatch");
        }
    });
    var dtSortingTest = new DataTableTestCase(dtSortingTemplate);
    
    /**
     *
     *
     * Tests row selection APIs.
     *
     *
     */
    var dtRowSelectionTemplate = YAHOO.lang.merge(dtBaseTemplate, {
        name: "DataTable Row Selection Tests",

        testSelectUnselectByEl: function() {
            var dt = this.createInstance();
            var elRow = dt.getFirstTrEl();
            dt.selectRow(elRow);
            
            var aSelectedRows = dt.getSelectedRows();
            Assert.areSame(true, YAHOO.util.Dom.hasClass(elRow, "yui-dt-selected"), "Failed to apply CSS");
            ArrayAssert.contains(elRow.id, aSelectedRows, "Failed to select first row");
            
            dt.unselectRow(elRow);
            
            aSelectedRows = dt.getSelectedRows();
            Assert.areSame(false, YAHOO.util.Dom.hasClass(elRow, "yui-dt-selected"), "Failed to remove CSS");
            ArrayAssert.doesNotContain(elRow.id, aSelectedRows, "Failed to unselect first row");
        },
        
        testSelectThenInsert: function() {
            var dt = this.createInstance();
            var elRow = dt.getFirstTrEl();
            dt.selectRow(elRow);
            dt.addRow({a:"4a",b:"4b",c:"4c"}, 0);
            
            var aSelectedRows = dt.getSelectedRows();
            var elTestRow = dt.getTbodyEl().rows[1];
            Assert.areSame(true, YAHOO.util.Dom.hasClass(elTestRow, "yui-dt-selected"), "Failed to apply CSS");
            ArrayAssert.contains(elTestRow.id, aSelectedRows, "Second row should be selected");

            elTestRow = dt.getTbodyEl().rows[0];
            Assert.areNotSame(true, YAHOO.util.Dom.hasClass(elTestRow, "yui-dt-selected"), "Unexpected CSS");
            ArrayAssert.doesNotContain(elTestRow.id, aSelectedRows, "First row should not be selected");
        },
        
        testSingleSelect: function() {
            var oConfig = {
                selectionMode:"single"
            }
            var dt = this.createInstance(null, oConfig);
            dt.subscribe("rowClickEvent",dt.onEventSelectRow,dt);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -