|
| 1 | +<!DOCTYPE html> |
| 2 | +<html ng-app="angular-ui-select2-demo"> |
| 3 | +<head> |
| 4 | + <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css"> |
| 5 | + <link rel="stylesheet" href="bower_components/select2/select2.css"> |
| 6 | + <style> |
| 7 | + .container { |
| 8 | + padding-bottom: 4em; |
| 9 | + } |
| 10 | + |
| 11 | + h2 { |
| 12 | + border-bottom: 1px solid #ddd; |
| 13 | + margin-top: 2em; |
| 14 | + } |
| 15 | + h3 { |
| 16 | + font-size: 16px; |
| 17 | + font-weight: normal; |
| 18 | + margin-top: 0.2em; |
| 19 | + } |
| 20 | + .select2-container { |
| 21 | + } |
| 22 | + label { |
| 23 | + font-size: 16px; |
| 24 | + font-weight: normal; |
| 25 | + display: block; |
| 26 | + color: #333; |
| 27 | + } |
| 28 | + .example.row { |
| 29 | + margin-top: 1em; |
| 30 | + } |
| 31 | + </style> |
| 32 | + <script src="bower_components/jquery/jquery.js"></script> |
| 33 | + <script src="bower_components/select2/select2.js"></script> |
| 34 | + <script src="bower_components/angular/angular.js"></script> |
| 35 | + <script src="bower_components/angular-ui-select2/src/select2.js"></script> |
| 36 | + <script src="app.js"></script> |
| 37 | + <script> |
| 38 | + $(function() { |
| 39 | + var opts=$('#source').html(), opts2='<option></option>'+opts; |
| 40 | + $('select.populate').each(function() { var e=$(this); e.html(e.hasClass('placeholder')?opts2:opts); }); |
| 41 | + }); |
| 42 | + </script> |
| 43 | +</head> |
| 44 | +<body> |
| 45 | + <div class="container" ng-controller="MainCtrl"> |
| 46 | + |
| 47 | + <article class="row" id="basics"> |
| 48 | + <h2>The Basics</h2> |
| 49 | + <div class="example row"> |
| 50 | + <div class="col-md-4 left"> |
| 51 | + <label><select></label> |
| 52 | + <select style="width:300px" ui-select2 ng-model="basicsValue" id="source"> |
| 53 | + <optgroup label="Alaskan/Hawaiian Time Zone"> |
| 54 | + <option value="AK">Alaska</option> |
| 55 | + <option value="HI">Hawaii</option> |
| 56 | + </optgroup> |
| 57 | + <optgroup label="Pacific Time Zone"> |
| 58 | + <option value="CA">California</option> |
| 59 | + <option value="NV">Nevada</option> |
| 60 | + <option value="OR">Oregon</option> |
| 61 | + <option value="WA">Washington</option> |
| 62 | + </optgroup> |
| 63 | + <optgroup label="Mountain Time Zone"> |
| 64 | + <option value="AZ">Arizona</option> |
| 65 | + <option value="CO">Colorado</option> |
| 66 | + <option value="ID">Idaho</option> |
| 67 | + <option value="MT">Montana</option> |
| 68 | + <option value="NE">Nebraska</option> |
| 69 | + <option value="NM">New Mexico</option> |
| 70 | + <option value="ND">North Dakota</option> |
| 71 | + <option value="UT">Utah</option> |
| 72 | + <option value="WY">Wyoming</option> |
| 73 | + </optgroup> |
| 74 | + <optgroup label="Central Time Zone"> |
| 75 | + <option value="AL">Alabama</option> |
| 76 | + <option value="AR">Arkansas</option> |
| 77 | + <option value="IL">Illinois</option> |
| 78 | + <option value="IA">Iowa</option> |
| 79 | + <option value="KS">Kansas</option> |
| 80 | + <option value="KY">Kentucky</option> |
| 81 | + <option value="LA">Louisiana</option> |
| 82 | + <option value="MN">Minnesota</option> |
| 83 | + <option value="MS">Mississippi</option> |
| 84 | + <option value="MO">Missouri</option> |
| 85 | + <option value="OK">Oklahoma</option> |
| 86 | + <option value="SD">South Dakota</option> |
| 87 | + <option value="TX">Texas</option> |
| 88 | + <option value="TN">Tennessee</option> |
| 89 | + <option value="WI">Wisconsin</option> |
| 90 | + </optgroup> |
| 91 | + <optgroup label="Eastern Time Zone"> |
| 92 | + <option value="CT">Connecticut</option> |
| 93 | + <option value="DE">Delaware</option> |
| 94 | + <option value="FL">Florida</option> |
| 95 | + <option value="GA">Georgia</option> |
| 96 | + <option value="IN">Indiana</option> |
| 97 | + <option value="ME">Maine</option> |
| 98 | + <option value="MD">Maryland</option> |
| 99 | + <option value="MA">Massachusetts</option> |
| 100 | + <option value="MI">Michigan</option> |
| 101 | + <option value="NH">New Hampshire</option> |
| 102 | + <option value="NJ">New Jersey</option> |
| 103 | + <option value="NY">New York</option> |
| 104 | + <option value="NC">North Carolina</option> |
| 105 | + <option value="OH">Ohio</option> |
| 106 | + <option value="PA">Pennsylvania</option> |
| 107 | + <option value="RI">Rhode Island</option> |
| 108 | + <option value="SC">South Carolina</option> |
| 109 | + <option value="VT">Vermont</option> |
| 110 | + <option value="VA">Virginia</option> |
| 111 | + <option value="WV">West Virginia</option> |
| 112 | + </optgroup> |
| 113 | + </select> |
| 114 | + </div> |
| 115 | + <div class="col-md-8 right"> |
| 116 | + <h3>Value</h3> |
| 117 | + <pre>{{ basicsValue }}</pre> |
| 118 | + </div> |
| 119 | + </div> |
| 120 | + </article> |
| 121 | + |
| 122 | + <article class="row" id="multi"> |
| 123 | + <h2>Multi-Value</h2> |
| 124 | + <div class="example row"> |
| 125 | + <div class="col-md-4 left"> |
| 126 | + <label><select multiple></label> |
| 127 | + <select style="width:300px" ui-select2 multiple ng-model="multiValue" class="populate"></select> |
| 128 | + </div> |
| 129 | + <div class="col-md-8 right"> |
| 130 | + <h3>Value</h3> |
| 131 | + <pre>{{ multiValue }}</pre> |
| 132 | + </div> |
| 133 | + </div> |
| 134 | + <div class="example row"> |
| 135 | + <div class="col-md-4 left"> |
| 136 | + <label>Pre-defined value</label> |
| 137 | + <input type="text" style="width:300px" ui-select2="multi" ng-model="multi2Value"/> |
| 138 | + </div> |
| 139 | + <div class="col-md-8 right"> |
| 140 | + <h3>Config</h3> |
| 141 | + <pre><code>{ |
| 142 | + multiple: true, |
| 143 | + query: function (query) { |
| 144 | + query.callback({ results: states }); |
| 145 | + }, |
| 146 | + initSelection: function(element, callback) { |
| 147 | + var val = $(element).val(); |
| 148 | + for (var i=0; i<states.length; i++) { |
| 149 | + for (var j=0; j<states[i].children.length; j++) { |
| 150 | + if (states[i].children[j].id == val) { |
| 151 | + return callback(states[i].children[j]); |
| 152 | + } |
| 153 | + } |
| 154 | + } |
| 155 | + } |
| 156 | +}</code></pre> |
| 157 | + <h3>Value</h3> |
| 158 | + <pre>{{ multi2Value }}</pre> |
| 159 | + </div> |
| 160 | + </div> |
| 161 | + </article> |
| 162 | + |
| 163 | + <article class="row" id="placeholders"> |
| 164 | + <h2>Placeholders</h2> |
| 165 | + <div class="example row"> |
| 166 | + <div class="col-md-4 left"> |
| 167 | + <label>Using data-attribute</label> |
| 168 | + <select style="width:300px" ui-select2 ng-model="placeholdersValue" class="populate placeholder" data-placeholder="Select a State"></select> |
| 169 | + </div> |
| 170 | + <div class="col-md-8 right"> |
| 171 | + <h3>Value</h3> |
| 172 | + <pre>{{ placeholdersValue }}</pre> |
| 173 | + </div> |
| 174 | + </div> |
| 175 | + <div class="example row"> |
| 176 | + <div class="col-md-4 left"> |
| 177 | + <label>Multiple, using config</label> |
| 178 | + <select style="width:300px" ui-select2="placeholders" multiple ng-model="placeholdersMultiValue" class="populate"></select> |
| 179 | + </div> |
| 180 | + <div class="col-md-8 right"> |
| 181 | + <h3>Config</h3> |
| 182 | + <pre><code>{{ placeholders }}</code></pre> |
| 183 | + <h3>Value</h3> |
| 184 | + <pre>{{ placeholdersMultiValue }}</pre> |
| 185 | + </div> |
| 186 | + </div> |
| 187 | + </article> |
| 188 | + |
| 189 | + <article class="row" id="array"> |
| 190 | + <h2>Array Data</h2> |
| 191 | + <div class="example row"> |
| 192 | + <div class="col-md-4 left"> |
| 193 | + <label>Simple</label> |
| 194 | + <input type="text" style="width:300px" ui-select2="array" ng-model="arrayValue"/> |
| 195 | + </div> |
| 196 | + <div class="col-md-8 right"> |
| 197 | + <h3>Config</h3> |
| 198 | + <pre><code>{{ array }}</code></pre> |
| 199 | + <h3>Value</h3> |
| 200 | + <pre>{{ arrayValue }}</pre> |
| 201 | + </div> |
| 202 | + </div> |
| 203 | + <div class="example row"> |
| 204 | + <div class="col-md-4 left"> |
| 205 | + <label>Asynchronous</label> |
| 206 | + <input type="text" style="width:300px" ui-select2="arrayAsync" ng-model="arrayAsyncValue"/> |
| 207 | + </div> |
| 208 | + <div class="col-md-8 right"> |
| 209 | + <h3>Config</h3> |
| 210 | + <pre><code>{ |
| 211 | + query: function (query) { |
| 212 | + query.callback({ results: states }); |
| 213 | + }, |
| 214 | + initSelection: function(element, callback) { |
| 215 | + var val = $(element).val(); |
| 216 | + for (var i=0; i<states.length; i++) { |
| 217 | + for (var j=0; j<states[i].children.length; j++) { |
| 218 | + if (states[i].children[j].id == val) { |
| 219 | + return callback(states[i].children[j]); |
| 220 | + } |
| 221 | + } |
| 222 | + } |
| 223 | + } |
| 224 | +}</code></pre> |
| 225 | + <h3>Value</h3> |
| 226 | + <pre>{{ arrayAsyncValue }}</pre> |
| 227 | + </div> |
| 228 | + </div> |
| 229 | + </article> |
| 230 | + |
| 231 | + </div> |
| 232 | +</body> |
| 233 | +</html> |
0 commit comments