nnnjjj123
2020-11-17 1b2c1edb61190eeb19f465ff031eaa3b2a1b8dbc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Test Selector mixin</title>
 
        <link rel="stylesheet" href="../../../css/dgrid.css">
 
        <style>
            .dgrid {
                height: 12em;
                margin-bottom: 3em;
            }
 
            .dgrid .field-select {
                width: 3em;
            }
 
            .dgrid .field-col1,
            .dgrid .field-col2,
            .dgrid .field-col5 {
                width: 8em;
            }
 
            .gridContainer {
                vertical-align: top;
                width: 500px;
            }
        </style>
    </head>
 
    <body class="claro">
        <table>
            <tr>
                <td class="gridContainer">
                    <h3>Extended selectionMode</h3>
                    <div id="gridExtended"></div>
 
                    <h3>Multiple selectionMode</h3>
                    <div id="gridMultiple"></div>
 
                    <h3>Single selectionMode</h3>
                    <div id="gridSingle"></div>
                </td>
 
                <td class="gridContainer">
                    <h3>Toggle selectionMode</h3>
                    <div id="gridToggle"></div>
 
                    <h3>None selectionMode</h3>
                    <div id="gridNone"></div>
                </td>
            </tr>
        </table>
 
        <script src="../../../../dojo/dojo.js"></script>
        <script>
            var gridExtended;
            var gridMultiple;
            var gridSingle;
            var gridToggle;
            var gridNone;
            var ready;
 
            require([
                'dojo/_base/declare',
                'dojo/_base/lang',
                'dgrid/OnDemandGrid',
                'dgrid/Selection',
                'dgrid/Selector',
                'dgrid/test/data/testStore'
            ], function (declare, lang, OnDemandGrid, Selection, Selector, testStore) {
                var SelectionGrid = declare([OnDemandGrid, Selection, Selector]);
 
                function allowSelect(row) {
                    return !row.id || row.id % 2 === 0;
                }
 
                function createGrid(selectionMode) {
                    var id = 'grid' + selectionMode.slice(0, 1).toUpperCase() + selectionMode.slice(1);
                    var selectColumn = { label: 'Select', selector: 'checkbox' };
                    if (selectionMode === 'single') {
                        selectColumn.selector = 'radio';
                    }
 
                    return new SelectionGrid({
                        collection: testStore,
                        columns: {
                            select: selectColumn,
                            col1: 'Column 1',
                            col2: 'Column 2',
                            col5: 'Column 5'
                        },
                        selectionMode: selectionMode,
                        allowSelect: allowSelect,
                        allowSelectAll: selectionMode !== 'single'
                    }, id);
                }
 
                gridExtended = createGrid('extended');
                gridMultiple = createGrid('multiple');
                gridSingle = createGrid('single');
                gridToggle = createGrid('toggle');
                gridNone = createGrid('none');
 
                ready = true;
            });
        </script>
    </body>
</html>