@gogocat/data-bind 1.12.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +14 -14
- package/.vscode/launch.json +12 -12
- package/CONFIGURATION.md +294 -0
- package/REACTIVE_MODE.md +553 -0
- package/README.md +266 -829
- package/babel.config.json +30 -0
- package/dist/js/_escape.d.ts +14 -0
- package/dist/js/_escape.d.ts.map +1 -0
- package/dist/js/applyBinding.d.ts +11 -0
- package/dist/js/applyBinding.d.ts.map +1 -0
- package/dist/js/attrBinding.d.ts +12 -0
- package/dist/js/attrBinding.d.ts.map +1 -0
- package/dist/js/binder.d.ts +67 -0
- package/dist/js/binder.d.ts.map +1 -0
- package/dist/js/changeBinding.d.ts +19 -0
- package/dist/js/changeBinding.d.ts.map +1 -0
- package/dist/js/commentWrapper.d.ts +39 -0
- package/dist/js/commentWrapper.d.ts.map +1 -0
- package/dist/js/config.d.ts +55 -0
- package/dist/js/config.d.ts.map +1 -0
- package/dist/js/createBindingOption.d.ts +32 -0
- package/dist/js/createBindingOption.d.ts.map +1 -0
- package/dist/js/createEventBinding.d.ts +10 -0
- package/dist/js/createEventBinding.d.ts.map +1 -0
- package/dist/js/cssBinding.d.ts +15 -0
- package/dist/js/cssBinding.d.ts.map +1 -0
- package/dist/js/dataBind.js +2756 -2530
- package/dist/js/dataBind.min.js +8 -1
- package/dist/js/dataBind.min.js.map +1 -1
- package/dist/js/domWalker.d.ts +9 -0
- package/dist/js/domWalker.d.ts.map +1 -0
- package/dist/js/forOfBinding.d.ts +12 -0
- package/dist/js/forOfBinding.d.ts.map +1 -0
- package/dist/js/hoverBinding.d.ts +13 -0
- package/dist/js/hoverBinding.d.ts.map +1 -0
- package/dist/js/ifBinding.d.ts +12 -0
- package/dist/js/ifBinding.d.ts.map +1 -0
- package/dist/js/index.d.ts +10 -0
- package/dist/js/index.d.ts.map +1 -0
- package/dist/js/modelBinding.d.ts +12 -0
- package/dist/js/modelBinding.d.ts.map +1 -0
- package/dist/js/postProcess.d.ts +3 -0
- package/dist/js/postProcess.d.ts.map +1 -0
- package/dist/js/pubSub.d.ts +11 -0
- package/dist/js/pubSub.d.ts.map +1 -0
- package/dist/js/reactiveProxy.d.ts +28 -0
- package/dist/js/reactiveProxy.d.ts.map +1 -0
- package/dist/js/renderForOfBinding.d.ts +8 -0
- package/dist/js/renderForOfBinding.d.ts.map +1 -0
- package/dist/js/renderIfBinding.d.ts +22 -0
- package/dist/js/renderIfBinding.d.ts.map +1 -0
- package/dist/js/renderIteration.d.ts +16 -0
- package/dist/js/renderIteration.d.ts.map +1 -0
- package/dist/js/renderTemplate.d.ts +14 -0
- package/dist/js/renderTemplate.d.ts.map +1 -0
- package/dist/js/renderTemplatesBinding.d.ts +19 -0
- package/dist/js/renderTemplatesBinding.d.ts.map +1 -0
- package/dist/js/showBinding.d.ts +13 -0
- package/dist/js/showBinding.d.ts.map +1 -0
- package/dist/js/switchBinding.d.ts +13 -0
- package/dist/js/switchBinding.d.ts.map +1 -0
- package/dist/js/textBinding.d.ts +13 -0
- package/dist/js/textBinding.d.ts.map +1 -0
- package/dist/js/types/_escape.d.ts +14 -0
- package/dist/js/types/_escape.d.ts.map +1 -0
- package/dist/js/types/applyBinding.d.ts +11 -0
- package/dist/js/types/applyBinding.d.ts.map +1 -0
- package/dist/js/types/attrBinding.d.ts +12 -0
- package/dist/js/types/attrBinding.d.ts.map +1 -0
- package/dist/js/types/binder.d.ts +67 -0
- package/dist/js/types/binder.d.ts.map +1 -0
- package/dist/js/types/changeBinding.d.ts +19 -0
- package/dist/js/types/changeBinding.d.ts.map +1 -0
- package/dist/js/types/commentWrapper.d.ts +39 -0
- package/dist/js/types/commentWrapper.d.ts.map +1 -0
- package/dist/js/types/config.d.ts +55 -0
- package/dist/js/types/config.d.ts.map +1 -0
- package/dist/js/types/createBindingOption.d.ts +32 -0
- package/dist/js/types/createBindingOption.d.ts.map +1 -0
- package/dist/js/types/createEventBinding.d.ts +10 -0
- package/dist/js/types/createEventBinding.d.ts.map +1 -0
- package/dist/js/types/cssBinding.d.ts +15 -0
- package/dist/js/types/cssBinding.d.ts.map +1 -0
- package/dist/js/types/domWalker.d.ts +9 -0
- package/dist/js/types/domWalker.d.ts.map +1 -0
- package/dist/js/types/forOfBinding.d.ts +12 -0
- package/dist/js/types/forOfBinding.d.ts.map +1 -0
- package/dist/js/types/hoverBinding.d.ts +13 -0
- package/dist/js/types/hoverBinding.d.ts.map +1 -0
- package/dist/js/types/ifBinding.d.ts +12 -0
- package/dist/js/types/ifBinding.d.ts.map +1 -0
- package/dist/js/types/index.d.ts +10 -0
- package/dist/js/types/index.d.ts.map +1 -0
- package/dist/js/types/modelBinding.d.ts +12 -0
- package/dist/js/types/modelBinding.d.ts.map +1 -0
- package/dist/js/types/postProcess.d.ts +3 -0
- package/dist/js/types/postProcess.d.ts.map +1 -0
- package/dist/js/types/pubSub.d.ts +11 -0
- package/dist/js/types/pubSub.d.ts.map +1 -0
- package/dist/js/types/reactiveProxy.d.ts +28 -0
- package/dist/js/types/reactiveProxy.d.ts.map +1 -0
- package/dist/js/types/renderForOfBinding.d.ts +8 -0
- package/dist/js/types/renderForOfBinding.d.ts.map +1 -0
- package/dist/js/types/renderIfBinding.d.ts +22 -0
- package/dist/js/types/renderIfBinding.d.ts.map +1 -0
- package/dist/js/types/renderIteration.d.ts +16 -0
- package/dist/js/types/renderIteration.d.ts.map +1 -0
- package/dist/js/types/renderTemplate.d.ts +14 -0
- package/dist/js/types/renderTemplate.d.ts.map +1 -0
- package/dist/js/types/renderTemplatesBinding.d.ts +19 -0
- package/dist/js/types/renderTemplatesBinding.d.ts.map +1 -0
- package/dist/js/types/showBinding.d.ts +13 -0
- package/dist/js/types/showBinding.d.ts.map +1 -0
- package/dist/js/types/switchBinding.d.ts +13 -0
- package/dist/js/types/switchBinding.d.ts.map +1 -0
- package/dist/js/types/textBinding.d.ts +13 -0
- package/dist/js/types/textBinding.d.ts.map +1 -0
- package/dist/js/types/types.d.ts +111 -0
- package/dist/js/types/types.d.ts.map +1 -0
- package/dist/js/types/util.d.ts +119 -0
- package/dist/js/types/util.d.ts.map +1 -0
- package/dist/js/types.d.ts +111 -0
- package/dist/js/types.d.ts.map +1 -0
- package/dist/js/util.d.ts +119 -0
- package/dist/js/util.d.ts.map +1 -0
- package/eslint.config.js +124 -0
- package/examples/DBMONSTER_COMPARISON.md +123 -0
- package/examples/afterRenderDemo.html +119 -0
- package/examples/bootstrap/css/animate.css +1579 -1579
- package/examples/bootstrap/css/bootstrap.min.css +6 -6
- package/examples/bootstrap/css/homeservices.css +378 -390
- package/examples/bootstrap/css/open-iconic.css +511 -511
- package/examples/bootstrap/fonts/open-iconic.svg +543 -543
- package/examples/bootstrap/js/compMessageDialog.js +20 -19
- package/examples/bootstrap/js/compSearchBar.js +12 -19
- package/examples/bootstrap/js/compSearchResults.js +50 -46
- package/examples/bootstrap/js/featureAdsResult.json +65 -65
- package/examples/bootstrap/js/searchResult.json +57 -57
- package/examples/bootstrap.html +343 -332
- package/examples/css/baseTodo.css +141 -141
- package/examples/css/dbMonsterStyles.css +27 -27
- package/examples/css/indexTodo.css +374 -374
- package/examples/dbmonsterForOfReactive.html +40 -0
- package/examples/dbmonsterReact.html +19 -0
- package/examples/forOfBindingSimpleDebug.html +45 -0
- package/examples/globalConfig.html +131 -0
- package/examples/js/afterRenderDemo.js +190 -0
- package/examples/js/appTodo.js +46 -46
- package/examples/js/attrBindingDemo.js +2 -2
- package/examples/js/dbMonApp.js +24 -26
- package/examples/js/dbMonAppReact.jsx +79 -0
- package/examples/js/dbMonAppReactive.js +28 -0
- package/examples/js/fiberDemo.js +4 -4
- package/examples/js/filtersDemo.js +8 -8
- package/examples/js/forOfDemo.js +7 -9
- package/examples/js/forOfDemoComplex.js +44 -17
- package/examples/js/form.js +14 -14
- package/examples/js/globalConfig.js +117 -0
- package/examples/js/ifBindingDemo.js +16 -16
- package/examples/js/reactiveDemo.js +119 -0
- package/examples/js/switchBindingDemo.js +8 -8
- package/examples/react-dbmonster/dist/bundle.js +43 -0
- package/examples/react-dbmonster/package-lock.json +537 -0
- package/examples/react-dbmonster/package.json +16 -0
- package/examples/react-dbmonster/src/index.jsx +80 -0
- package/examples/reactiveDemo.html +127 -0
- package/examples/refreshRateTest.html +75 -75
- package/index.html +841 -0
- package/package.json +31 -34
- package/rollup.config.js +79 -36
- package/src/{_escape.js → _escape.ts} +19 -17
- package/src/{applyBinding.js → applyBinding.ts} +27 -18
- package/src/{attrBinding.js → attrBinding.ts} +14 -13
- package/src/{binder.js → binder.ts} +289 -181
- package/src/changeBinding.ts +93 -0
- package/src/{commentWrapper.js → commentWrapper.ts} +33 -30
- package/src/config.ts +107 -0
- package/src/{createBindingOption.js → createBindingOption.ts} +39 -15
- package/src/createEventBinding.ts +88 -0
- package/src/{cssBinding.js → cssBinding.ts} +13 -11
- package/src/{domWalker.js → domWalker.ts} +44 -30
- package/src/{forOfBinding.js → forOfBinding.ts} +4 -3
- package/src/hoverBinding.ts +84 -0
- package/src/{ifBinding.js → ifBinding.ts} +14 -12
- package/src/index.ts +53 -0
- package/src/{modelBinding.js → modelBinding.ts} +11 -9
- package/src/{postProcess.js → postProcess.ts} +6 -4
- package/src/{pubSub.js → pubSub.ts} +24 -21
- package/src/reactiveProxy.ts +285 -0
- package/src/{renderForOfBinding.js → renderForOfBinding.ts} +54 -32
- package/src/{renderIfBinding.js → renderIfBinding.ts} +41 -19
- package/src/{renderIteration.js → renderIteration.ts} +24 -8
- package/src/renderTemplate.ts +165 -0
- package/src/renderTemplatesBinding.ts +73 -0
- package/src/{showBinding.js → showBinding.ts} +4 -3
- package/src/{switchBinding.js → switchBinding.ts} +18 -15
- package/src/{textBinding.js → textBinding.ts} +5 -4
- package/src/types.ts +124 -0
- package/src/util.ts +810 -0
- package/test/css/reporter.css +9 -9
- package/test/globals.d.ts +19 -0
- package/test/helpers/testHelper.js +46 -11
- package/test/mocks/featureAdsResult.json +65 -65
- package/test/mocks/searchResult.json +57 -57
- package/test/specs/{attrBinding.spec.js → attrBinding.spec.ts} +103 -106
- package/test/specs/{binder.spec.js → binder.spec.ts} +29 -27
- package/test/specs/blurBinding.spec.ts +60 -0
- package/test/specs/chainableUse.spec.ts +125 -0
- package/test/specs/clickBinding.spec.ts +194 -0
- package/test/specs/{cssBinding.spec.js → cssBinding.spec.ts} +72 -79
- package/test/specs/{dataBindBootstrap.spec.js → dataBindBootstrap.spec.ts} +332 -313
- package/test/specs/{filter.spec.js → filter.spec.ts} +75 -76
- package/test/specs/{forOfBinding.spec.js → forOfBinding.spec.ts} +208 -219
- package/test/specs/formBinding.spec.ts +272 -0
- package/test/specs/ifBinding.spec.ts +165 -0
- package/test/specs/{nestedComponent.spec.js → nestedComponent.spec.ts} +88 -88
- package/test/specs/reactiveProxy.spec.ts +465 -0
- package/test/specs/{showBinding.spec.js → showBinding.spec.ts} +148 -149
- package/test/specs/{switchBinding.spec.js → switchBinding.spec.ts} +172 -173
- package/test/specs/templateBinding.spec.ts +273 -0
- package/test/specs/{textBinding.spec.js → textBinding.spec.ts} +47 -48
- package/test/tsconfig.json +31 -0
- package/test-output.txt +200 -0
- package/test-reactive.html +224 -0
- package/tsconfig.json +28 -0
- package/vendors/lodash.custom.js +4577 -4577
- package/vendors/lodash.custom.min.js +45 -45
- package/vitest.config.js +27 -0
- package/.eslintrc.js +0 -1
- package/.grunt/grunt-contrib-jasmine/boot.js +0 -161
- package/.grunt/grunt-contrib-jasmine/dist/js/dataBind.js +0 -9
- package/.grunt/grunt-contrib-jasmine/grunt-template-jasmine-istanbul/reporter.js +0 -23
- package/.grunt/grunt-contrib-jasmine/jasmine-html.js +0 -853
- package/.grunt/grunt-contrib-jasmine/jasmine.css +0 -271
- package/.grunt/grunt-contrib-jasmine/jasmine.js +0 -9761
- package/.grunt/grunt-contrib-jasmine/jasmine_favicon.png +0 -0
- package/.grunt/grunt-contrib-jasmine/json2.js +0 -489
- package/.grunt/grunt-contrib-jasmine/reporter.js +0 -107
- package/coverage/coverage.json +0 -1
- package/coverage/lcov/lcov-report/base.css +0 -213
- package/coverage/lcov/lcov-report/index.html +0 -93
- package/coverage/lcov/lcov-report/js/dataBind.js.html +0 -6596
- package/coverage/lcov/lcov-report/js/index.html +0 -93
- package/coverage/lcov/lcov-report/prettify.css +0 -1
- package/coverage/lcov/lcov-report/prettify.js +0 -1
- package/coverage/lcov/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov/lcov-report/sorter.js +0 -158
- package/coverage/lcov/lcov.info +0 -1991
- package/eslintrc.json +0 -40
- package/examples/bootstrap/js/bootstrap.min.js +0 -6
- package/examples/bootstrap/js/popper.min.js +0 -5
- package/examples/bootstrap/js/searchSuggestion.js +0 -58
- package/examples/bootstrap/js/typeahead.jquery.js +0 -1538
- package/gruntfile.js +0 -92
- package/gulpfile.js +0 -32
- package/src/applyBindingExport.js +0 -5
- package/src/changeBinding.js +0 -63
- package/src/config.js +0 -66
- package/src/createEventBinding.js +0 -46
- package/src/eventSystem.js +0 -46
- package/src/hoverBinding.js +0 -57
- package/src/index.js +0 -26
- package/src/renderTemplate.js +0 -128
- package/src/renderTemplatesBinding.js +0 -44
- package/src/util.js +0 -648
- package/test/specs/blurBinding.spec.js +0 -57
- package/test/specs/formBinding.spec.js +0 -316
- package/test/specs/ifBinding.spec.js +0 -169
- package/test/specs/templateBinding.spec.js +0 -117
- package/vendors/jasmine-jquery.js +0 -841
- package/vendors/jquery-3.2.1.min.js +0 -4
package/examples/bootstrap.html
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
|
6
6
|
<meta name="description" content="" />
|
|
7
7
|
<meta name="author" content="" />
|
|
8
|
-
<title>Bootstrap
|
|
9
|
-
<!-- Bootstrap
|
|
10
|
-
<link
|
|
8
|
+
<title>Bootstrap 5 dataBind Demo</title>
|
|
9
|
+
<!-- Bootstrap 5 CSS -->
|
|
10
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
|
|
11
11
|
<link rel="stylesheet" href="bootstrap/css/open-iconic.css" />
|
|
12
12
|
<link rel="stylesheet" href="bootstrap/css/homeservices.css" />
|
|
13
13
|
</head>
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
<button
|
|
19
19
|
class="navbar-toggler"
|
|
20
20
|
type="button"
|
|
21
|
-
data-toggle="collapse"
|
|
22
|
-
data-target="#navbarsExampleDefault"
|
|
21
|
+
data-bs-toggle="collapse"
|
|
22
|
+
data-bs-target="#navbarsExampleDefault"
|
|
23
23
|
aria-controls="navbarsExampleDefault"
|
|
24
24
|
aria-expanded="false"
|
|
25
25
|
aria-label="Toggle navigation"
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
</button>
|
|
29
29
|
|
|
30
30
|
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
|
|
31
|
-
<ul class="navbar-nav
|
|
31
|
+
<ul class="navbar-nav me-auto">
|
|
32
32
|
<li class="nav-item active">
|
|
33
33
|
<a class="nav-link" href="#"
|
|
34
34
|
>Home
|
|
35
|
-
<span class="
|
|
35
|
+
<span class="visually-hidden">(current)</span>
|
|
36
36
|
</a>
|
|
37
37
|
</li>
|
|
38
38
|
<li class="nav-item">
|
|
@@ -46,16 +46,16 @@
|
|
|
46
46
|
class="nav-link dropdown-toggle"
|
|
47
47
|
href="http://example.com"
|
|
48
48
|
id="dropdown01"
|
|
49
|
-
data-toggle="dropdown"
|
|
49
|
+
data-bs-toggle="dropdown"
|
|
50
50
|
aria-haspopup="true"
|
|
51
51
|
aria-expanded="false"
|
|
52
52
|
>Dropdown</a
|
|
53
53
|
>
|
|
54
|
-
<
|
|
55
|
-
<a class="dropdown-item" href="#">Action</a>
|
|
56
|
-
<a class="dropdown-item" href="#">Another action</a>
|
|
57
|
-
<a class="dropdown-item" href="#">Something else here</a>
|
|
58
|
-
</
|
|
54
|
+
<ul class="dropdown-menu" aria-labelledby="dropdown01">
|
|
55
|
+
<li><a class="dropdown-item" href="#">Action</a></li>
|
|
56
|
+
<li><a class="dropdown-item" href="#">Another action</a></li>
|
|
57
|
+
<li><a class="dropdown-item" href="#">Something else here</a></li>
|
|
58
|
+
</ul>
|
|
59
59
|
</li>
|
|
60
60
|
</ul>
|
|
61
61
|
</div>
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
<div class="search-bar" data-bind-comp="search-bar" data-server-rendered>
|
|
75
75
|
<div class="container">
|
|
76
76
|
<form id="search-form" data-bind-submit="onSearchSubmit">
|
|
77
|
-
<div class="
|
|
78
|
-
<div class="col-
|
|
77
|
+
<div class="row g-2">
|
|
78
|
+
<div class="col-12 col-md-7 position-relative" id="scrollable-dropdown-menu">
|
|
79
79
|
<input
|
|
80
80
|
id="searchWord"
|
|
81
81
|
name="searchWord"
|
|
@@ -91,26 +91,28 @@
|
|
|
91
91
|
>
|
|
92
92
|
<span class="search-bar__focus-bar"></span>
|
|
93
93
|
</div>
|
|
94
|
-
<div class="col-3
|
|
95
|
-
<
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
94
|
+
<div class="col-8 col-md-3 position-relative">
|
|
95
|
+
<div class="d-flex">
|
|
96
|
+
<span class="oi search-bar__map-marker" data-glyph="map-marker"></span>
|
|
97
|
+
<input
|
|
98
|
+
id="location"
|
|
99
|
+
name="location"
|
|
100
|
+
type="text"
|
|
101
|
+
class="form-control"
|
|
102
|
+
data-bind-model="searchLocation"
|
|
103
|
+
data-bind-change="onSearchLocationChange"
|
|
104
|
+
placeholder="Location"
|
|
105
|
+
value="Sydney"
|
|
106
|
+
aria-label="Location"
|
|
107
|
+
/>
|
|
108
|
+
</div>
|
|
107
109
|
<span class="search-bar__focus-bar"></span>
|
|
108
110
|
</div>
|
|
109
|
-
<div class="col">
|
|
111
|
+
<div class="col-4 col-md-2">
|
|
110
112
|
<button class="btn btn-success search-bar__btn" type="submit">
|
|
111
113
|
<span class="spinner spinner--search" data-bind-show="searching"></span>
|
|
112
114
|
<span data-bind-show="!searching">
|
|
113
|
-
<span class="
|
|
115
|
+
<span class="visually-hidden">Search</span>
|
|
114
116
|
<span class="oi" data-glyph="magnifying-glass" aria-hidden="true"></span>
|
|
115
117
|
</span>
|
|
116
118
|
</button>
|
|
@@ -127,315 +129,331 @@
|
|
|
127
129
|
|
|
128
130
|
<div
|
|
129
131
|
id="search-result-columns"
|
|
130
|
-
class="
|
|
132
|
+
class="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 g-3"
|
|
131
133
|
data-bind-tmp="{id: 'searchResultItem', data: '$root', append: true}"
|
|
132
134
|
>
|
|
133
|
-
<div class="
|
|
134
|
-
<
|
|
135
|
-
|
|
136
|
-
<
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
<div class="result-
|
|
144
|
-
<
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
135
|
+
<div class="col">
|
|
136
|
+
<div class="card result-item h-100" data-index="0">
|
|
137
|
+
<img class="card-img-top result-item__img" src="bootstrap/images/pic-home.jpg" alt="Card image" />
|
|
138
|
+
<div class="card-body">
|
|
139
|
+
<h4 class="card-title">Card title that wraps to a new line</h4>
|
|
140
|
+
<p class="card-text">
|
|
141
|
+
This is a longer card with supporting text below as a natural lead-in to additional content.
|
|
142
|
+
This content is a little bit longer.
|
|
143
|
+
</p>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="card-footer result-item__footer">
|
|
146
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
147
|
+
<input
|
|
148
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
149
|
+
type="checkbox"
|
|
150
|
+
id="adid0"
|
|
151
|
+
name="adid0"
|
|
152
|
+
data-index="0"
|
|
153
|
+
data-bind-model="searchResults[0].selected"
|
|
154
|
+
data-bind-change="onAdMessageCheck"
|
|
155
|
+
/>
|
|
156
|
+
<label
|
|
157
|
+
for="adid0"
|
|
158
|
+
class="oi result-item__icon-checkbox-label"
|
|
159
|
+
data-glyph="task"
|
|
160
|
+
aria-label="Message this seller"
|
|
161
|
+
></label>
|
|
162
|
+
</div>
|
|
163
|
+
<span
|
|
164
|
+
class="oi result-item__icon"
|
|
165
|
+
data-glyph="bookmark"
|
|
166
|
+
data-bind-css="searchResults[0].bookmarkedCss"
|
|
167
|
+
data-bind-click="onAdBookmarkClick"
|
|
149
168
|
data-index="0"
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
/>
|
|
153
|
-
<label
|
|
154
|
-
for="adid0"
|
|
155
|
-
class="oi result-item__icon-checkbox-label"
|
|
156
|
-
data-glyph="task"
|
|
157
|
-
aria-label="Message this seller"
|
|
158
|
-
></label>
|
|
169
|
+
></span>
|
|
170
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">99</span>
|
|
159
171
|
</div>
|
|
160
|
-
<span
|
|
161
|
-
class="oi result-item__icon"
|
|
162
|
-
data-glyph="bookmark"
|
|
163
|
-
data-bind-css="searchResults[0].bookmarkedCss"
|
|
164
|
-
data-bind-click="onAdBookmarkClick"
|
|
165
|
-
data-index="0"
|
|
166
|
-
></span>
|
|
167
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">99</span>
|
|
168
172
|
</div>
|
|
169
173
|
</div>
|
|
170
174
|
|
|
171
|
-
<div class="
|
|
172
|
-
<div class="card-
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
<div class="result-
|
|
181
|
-
<
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
175
|
+
<div class="col">
|
|
176
|
+
<div class="card result-item h-100" data-index="1">
|
|
177
|
+
<div class="card-body">
|
|
178
|
+
<h4 class="card-title">Card title</h4>
|
|
179
|
+
<p class="card-text">
|
|
180
|
+
This is a wider card with supporting text below as a natural lead-in to additional content.
|
|
181
|
+
This card has even longer content than the first to show that equal height action.
|
|
182
|
+
</p>
|
|
183
|
+
</div>
|
|
184
|
+
<div class="card-footer result-item__footer">
|
|
185
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
186
|
+
<input
|
|
187
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
188
|
+
type="checkbox"
|
|
189
|
+
id="adid1"
|
|
190
|
+
name="adid1"
|
|
191
|
+
data-index="1"
|
|
192
|
+
data-bind-model="searchResults[1].selected"
|
|
193
|
+
data-bind-change="onAdMessageCheck"
|
|
194
|
+
/>
|
|
195
|
+
<label
|
|
196
|
+
for="adid1"
|
|
197
|
+
class="oi result-item__icon-checkbox-label"
|
|
198
|
+
data-glyph="task"
|
|
199
|
+
aria-label="Message this seller"
|
|
200
|
+
></label>
|
|
201
|
+
</div>
|
|
202
|
+
<span
|
|
203
|
+
class="oi result-item__icon"
|
|
204
|
+
data-glyph="bookmark"
|
|
205
|
+
data-bind-css="searchResults[1].bookmarkedCss"
|
|
206
|
+
data-bind-click="onAdBookmarkClick"
|
|
186
207
|
data-index="1"
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
/>
|
|
190
|
-
<label
|
|
191
|
-
for="adid1"
|
|
192
|
-
class="oi result-item__icon-checkbox-label"
|
|
193
|
-
data-glyph="task"
|
|
194
|
-
aria-label="Message this seller"
|
|
195
|
-
></label>
|
|
208
|
+
></span>
|
|
209
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">9</span>
|
|
196
210
|
</div>
|
|
197
|
-
<span
|
|
198
|
-
class="oi result-item__icon"
|
|
199
|
-
data-glyph="bookmark"
|
|
200
|
-
data-bind-css="searchResults[1].bookmarkedCss"
|
|
201
|
-
data-bind-click="onAdBookmarkClick"
|
|
202
|
-
data-index="1"
|
|
203
|
-
></span>
|
|
204
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">9</span>
|
|
205
211
|
</div>
|
|
206
212
|
</div>
|
|
207
213
|
|
|
208
|
-
<div class="
|
|
209
|
-
<
|
|
210
|
-
|
|
211
|
-
<
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
<div class="result-
|
|
218
|
-
<
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
214
|
+
<div class="col">
|
|
215
|
+
<div class="card result-item h-100" data-index="2">
|
|
216
|
+
<img class="card-img-top result-item__img" src="bootstrap/images/pic-deck.jpg" alt="Card image" />
|
|
217
|
+
<div class="card-body">
|
|
218
|
+
<h4 class="card-title">Card title</h4>
|
|
219
|
+
<p class="card-text">
|
|
220
|
+
This card has supporting text below as a natural lead-in to additional content.
|
|
221
|
+
</p>
|
|
222
|
+
</div>
|
|
223
|
+
<div class="card-footer result-item__footer">
|
|
224
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
225
|
+
<input
|
|
226
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
227
|
+
type="checkbox"
|
|
228
|
+
id="adid2"
|
|
229
|
+
name="adid2"
|
|
230
|
+
data-index="2"
|
|
231
|
+
data-bind-model="searchResults[2].selected"
|
|
232
|
+
data-bind-change="onAdMessageCheck"
|
|
233
|
+
/>
|
|
234
|
+
<label
|
|
235
|
+
for="adid2"
|
|
236
|
+
class="oi result-item__icon-checkbox-label"
|
|
237
|
+
data-glyph="task"
|
|
238
|
+
aria-label="Message this seller"
|
|
239
|
+
></label>
|
|
240
|
+
</div>
|
|
241
|
+
<span
|
|
242
|
+
class="oi result-item__icon"
|
|
243
|
+
data-glyph="bookmark"
|
|
244
|
+
data-bind-css="searchResults[2].bookmarkedCss"
|
|
245
|
+
data-bind-click="onAdBookmarkClick"
|
|
223
246
|
data-index="2"
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
/>
|
|
227
|
-
<label
|
|
228
|
-
for="adid2"
|
|
229
|
-
class="oi result-item__icon-checkbox-label"
|
|
230
|
-
data-glyph="task"
|
|
231
|
-
aria-label="Message this seller"
|
|
232
|
-
></label>
|
|
247
|
+
></span>
|
|
248
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">24</span>
|
|
233
249
|
</div>
|
|
234
|
-
<span
|
|
235
|
-
class="oi result-item__icon"
|
|
236
|
-
data-glyph="bookmark"
|
|
237
|
-
data-bind-css="searchResults[2].bookmarkedCss"
|
|
238
|
-
data-bind-click="onAdBookmarkClick"
|
|
239
|
-
data-index="2"
|
|
240
|
-
></span>
|
|
241
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">24</span>
|
|
242
250
|
</div>
|
|
243
251
|
</div>
|
|
244
252
|
|
|
245
|
-
<div class="
|
|
246
|
-
<
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
<
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
<div class="result-
|
|
259
|
-
<
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
253
|
+
<div class="col">
|
|
254
|
+
<div class="card result-item result-item--highlight h-100" data-index="3">
|
|
255
|
+
<img
|
|
256
|
+
class="card-img-top result-item__img"
|
|
257
|
+
src="bootstrap/images/pic-carpenter.jpg"
|
|
258
|
+
alt="Card image"
|
|
259
|
+
/>
|
|
260
|
+
<div class="card-body">
|
|
261
|
+
<h4 class="card-title">Card title</h4>
|
|
262
|
+
<p class="card-text">
|
|
263
|
+
This card has supporting text below as a natural lead-in to additional content.
|
|
264
|
+
</p>
|
|
265
|
+
</div>
|
|
266
|
+
<div class="card-footer result-item__footer">
|
|
267
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
268
|
+
<input
|
|
269
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
270
|
+
type="checkbox"
|
|
271
|
+
id="adid3"
|
|
272
|
+
name="adid3"
|
|
273
|
+
data-index="3"
|
|
274
|
+
data-bind-model="searchResults[3].selected"
|
|
275
|
+
data-bind-change="onAdMessageCheck"
|
|
276
|
+
/>
|
|
277
|
+
<label
|
|
278
|
+
for="adid3"
|
|
279
|
+
class="oi result-item__icon-checkbox-label"
|
|
280
|
+
data-glyph="task"
|
|
281
|
+
aria-label="Message this seller"
|
|
282
|
+
></label>
|
|
283
|
+
</div>
|
|
284
|
+
<span
|
|
285
|
+
class="oi result-item__icon"
|
|
286
|
+
data-glyph="bookmark"
|
|
287
|
+
data-bind-css="searchResults[3].bookmarkedCss"
|
|
288
|
+
data-bind-click="onAdBookmarkClick"
|
|
264
289
|
data-index="3"
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
/>
|
|
268
|
-
<label
|
|
269
|
-
for="adid3"
|
|
270
|
-
class="oi result-item__icon-checkbox-label"
|
|
271
|
-
data-glyph="task"
|
|
272
|
-
aria-label="Message this seller"
|
|
273
|
-
></label>
|
|
290
|
+
></span>
|
|
291
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">8</span>
|
|
274
292
|
</div>
|
|
275
|
-
<span
|
|
276
|
-
class="oi result-item__icon"
|
|
277
|
-
data-glyph="bookmark"
|
|
278
|
-
data-bind-css="searchResults[3].bookmarkedCss"
|
|
279
|
-
data-bind-click="onAdBookmarkClick"
|
|
280
|
-
data-index="3"
|
|
281
|
-
></span>
|
|
282
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">8</span>
|
|
283
293
|
</div>
|
|
284
294
|
</div>
|
|
285
295
|
|
|
286
|
-
<div class="
|
|
287
|
-
<div class="card-
|
|
288
|
-
<
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
<div class="result-
|
|
295
|
-
<
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
296
|
+
<div class="col">
|
|
297
|
+
<div class="card result-item h-100" data-index="4">
|
|
298
|
+
<div class="card-body">
|
|
299
|
+
<h4 class="card-title">Card title</h4>
|
|
300
|
+
<p class="card-text">
|
|
301
|
+
This card has supporting text below as a natural lead-in to additional content.
|
|
302
|
+
</p>
|
|
303
|
+
</div>
|
|
304
|
+
<div class="card-footer result-item__footer">
|
|
305
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
306
|
+
<input
|
|
307
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
308
|
+
type="checkbox"
|
|
309
|
+
id="adid4"
|
|
310
|
+
name="adid4"
|
|
311
|
+
data-index="4"
|
|
312
|
+
data-bind-model="searchResults[4].selected"
|
|
313
|
+
data-bind-change="onAdMessageCheck"
|
|
314
|
+
/>
|
|
315
|
+
<label
|
|
316
|
+
for="adid4"
|
|
317
|
+
class="oi result-item__icon-checkbox-label"
|
|
318
|
+
data-glyph="task"
|
|
319
|
+
aria-label="Message this seller"
|
|
320
|
+
></label>
|
|
321
|
+
</div>
|
|
322
|
+
<span
|
|
323
|
+
class="oi result-item__icon"
|
|
324
|
+
data-glyph="bookmark"
|
|
325
|
+
data-bind-css="searchResults[4].bookmarkedCss"
|
|
326
|
+
data-bind-click="onAdBookmarkClick"
|
|
300
327
|
data-index="4"
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
/>
|
|
304
|
-
<label
|
|
305
|
-
for="adid4"
|
|
306
|
-
class="oi result-item__icon-checkbox-label"
|
|
307
|
-
data-glyph="task"
|
|
308
|
-
aria-label="Message this seller"
|
|
309
|
-
></label>
|
|
328
|
+
></span>
|
|
329
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">68</span>
|
|
310
330
|
</div>
|
|
311
|
-
<span
|
|
312
|
-
class="oi result-item__icon"
|
|
313
|
-
data-glyph="bookmark"
|
|
314
|
-
data-bind-css="searchResults[4].bookmarkedCss"
|
|
315
|
-
data-bind-click="onAdBookmarkClick"
|
|
316
|
-
data-index="4"
|
|
317
|
-
></span>
|
|
318
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">68</span>
|
|
319
331
|
</div>
|
|
320
332
|
</div>
|
|
321
333
|
|
|
322
|
-
<div class="
|
|
323
|
-
<
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
<
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
<div class="result-
|
|
337
|
-
<
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
334
|
+
<div class="col">
|
|
335
|
+
<div class="card result-item h-100" data-index="5">
|
|
336
|
+
<img
|
|
337
|
+
class="card-img-top result-item__img"
|
|
338
|
+
src="bootstrap/images/pic-bathrooms.jpg"
|
|
339
|
+
alt="Card image"
|
|
340
|
+
/>
|
|
341
|
+
<div class="card-body">
|
|
342
|
+
<h4 class="card-title">Card title that wraps to a new line</h4>
|
|
343
|
+
<p class="card-text">
|
|
344
|
+
This is a longer card with supporting text below as a natural lead-in to additional content.
|
|
345
|
+
This content is a little bit longer.
|
|
346
|
+
</p>
|
|
347
|
+
</div>
|
|
348
|
+
<div class="card-footer result-item__footer">
|
|
349
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
350
|
+
<input
|
|
351
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
352
|
+
type="checkbox"
|
|
353
|
+
id="adid5"
|
|
354
|
+
name="adid5"
|
|
355
|
+
data-index="5"
|
|
356
|
+
data-bind-model="searchResults[5].selected"
|
|
357
|
+
data-bind-change="onAdMessageCheck"
|
|
358
|
+
/>
|
|
359
|
+
<label
|
|
360
|
+
for="adid5"
|
|
361
|
+
class="oi result-item__icon-checkbox-label"
|
|
362
|
+
data-glyph="task"
|
|
363
|
+
aria-label="Message this seller"
|
|
364
|
+
></label>
|
|
365
|
+
</div>
|
|
366
|
+
<span
|
|
367
|
+
class="oi result-item__icon active"
|
|
368
|
+
data-glyph="bookmark"
|
|
369
|
+
data-bind-css="searchResults[5].bookmarkedCss"
|
|
370
|
+
data-bind-click="onAdBookmarkClick"
|
|
342
371
|
data-index="5"
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
/>
|
|
346
|
-
<label
|
|
347
|
-
for="adid5"
|
|
348
|
-
class="oi result-item__icon-checkbox-label"
|
|
349
|
-
data-glyph="task"
|
|
350
|
-
aria-label="Message this seller"
|
|
351
|
-
></label>
|
|
372
|
+
></span>
|
|
373
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">99+</span>
|
|
352
374
|
</div>
|
|
353
|
-
<span
|
|
354
|
-
class="oi result-item__icon active"
|
|
355
|
-
data-glyph="bookmark"
|
|
356
|
-
data-bind-css="searchResults[5].bookmarkedCss"
|
|
357
|
-
data-bind-click="onAdBookmarkClick"
|
|
358
|
-
data-index="5"
|
|
359
|
-
></span>
|
|
360
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">99+</span>
|
|
361
375
|
</div>
|
|
362
376
|
</div>
|
|
363
377
|
|
|
364
|
-
<div class="
|
|
365
|
-
<div class="card-
|
|
366
|
-
<
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
<div class="result-
|
|
374
|
-
<
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
378
|
+
<div class="col">
|
|
379
|
+
<div class="card result-item h-100" data-index="6">
|
|
380
|
+
<div class="card-body">
|
|
381
|
+
<h4 class="card-title">Card title</h4>
|
|
382
|
+
<p class="card-text">
|
|
383
|
+
This is a wider card with supporting text below as a natural lead-in to additional content.
|
|
384
|
+
This card has even longer content than the first to show that equal height action.
|
|
385
|
+
</p>
|
|
386
|
+
</div>
|
|
387
|
+
<div class="card-footer result-item__footer">
|
|
388
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
389
|
+
<input
|
|
390
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
391
|
+
type="checkbox"
|
|
392
|
+
id="adid6"
|
|
393
|
+
name="adid6"
|
|
394
|
+
data-index="6"
|
|
395
|
+
data-bind-model="searchResults[6].selected"
|
|
396
|
+
data-bind-change="onAdMessageCheck"
|
|
397
|
+
/>
|
|
398
|
+
<label
|
|
399
|
+
for="adid6"
|
|
400
|
+
class="oi result-item__icon-checkbox-label"
|
|
401
|
+
data-glyph="task"
|
|
402
|
+
aria-label="Message this seller"
|
|
403
|
+
></label>
|
|
404
|
+
</div>
|
|
405
|
+
<span
|
|
406
|
+
class="oi result-item__icon"
|
|
407
|
+
data-glyph="bookmark"
|
|
408
|
+
data-bind-css="searchResults[6].bookmarkedCss"
|
|
409
|
+
data-bind-click="onAdBookmarkClick"
|
|
379
410
|
data-index="6"
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
/>
|
|
383
|
-
<label
|
|
384
|
-
for="adid6"
|
|
385
|
-
class="oi result-item__icon-checkbox-label"
|
|
386
|
-
data-glyph="task"
|
|
387
|
-
aria-label="Message this seller"
|
|
388
|
-
></label>
|
|
411
|
+
></span>
|
|
412
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">9</span>
|
|
389
413
|
</div>
|
|
390
|
-
<span
|
|
391
|
-
class="oi result-item__icon"
|
|
392
|
-
data-glyph="bookmark"
|
|
393
|
-
data-bind-css="searchResults[6].bookmarkedCss"
|
|
394
|
-
data-bind-click="onAdBookmarkClick"
|
|
395
|
-
data-index="6"
|
|
396
|
-
></span>
|
|
397
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">9</span>
|
|
398
414
|
</div>
|
|
399
415
|
</div>
|
|
400
416
|
|
|
401
|
-
<div class="
|
|
402
|
-
<
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
<
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
<div class="result-
|
|
415
|
-
<
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
417
|
+
<div class="col">
|
|
418
|
+
<div class="card result-item h-100" data-index="7">
|
|
419
|
+
<img
|
|
420
|
+
class="card-img-top result-item__img"
|
|
421
|
+
src="bootstrap/images/pic-backyard.jpg"
|
|
422
|
+
alt="Card image"
|
|
423
|
+
/>
|
|
424
|
+
<div class="card-body">
|
|
425
|
+
<h4 class="card-title">Card title</h4>
|
|
426
|
+
<p class="card-text">
|
|
427
|
+
This card has supporting text below as a natural lead-in to additional content.
|
|
428
|
+
</p>
|
|
429
|
+
</div>
|
|
430
|
+
<div class="card-footer result-item__footer">
|
|
431
|
+
<div class="result-item__icon-checkbox-wrap">
|
|
432
|
+
<input
|
|
433
|
+
class="result-item__icon result-item__icon-checkbox"
|
|
434
|
+
type="checkbox"
|
|
435
|
+
id="adid7"
|
|
436
|
+
name="adid7"
|
|
437
|
+
data-index="7"
|
|
438
|
+
data-bind-model="searchResults[7].selected"
|
|
439
|
+
data-bind-change="onAdMessageCheck"
|
|
440
|
+
/>
|
|
441
|
+
<label
|
|
442
|
+
for="adid7"
|
|
443
|
+
class="oi result-item__icon-checkbox-label"
|
|
444
|
+
data-glyph="task"
|
|
445
|
+
aria-label="Message this seller"
|
|
446
|
+
></label>
|
|
447
|
+
</div>
|
|
448
|
+
<span
|
|
449
|
+
class="oi result-item__icon"
|
|
450
|
+
data-glyph="bookmark"
|
|
451
|
+
data-bind-css="searchResults[7].bookmarkedCss"
|
|
452
|
+
data-bind-click="onAdBookmarkClick"
|
|
420
453
|
data-index="7"
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
/>
|
|
424
|
-
<label
|
|
425
|
-
for="adid7"
|
|
426
|
-
class="oi result-item__icon-checkbox-label"
|
|
427
|
-
data-glyph="task"
|
|
428
|
-
aria-label="Message this seller"
|
|
429
|
-
></label>
|
|
454
|
+
></span>
|
|
455
|
+
<span class="oi result-item__icon" data-glyph="thumb-up">24</span>
|
|
430
456
|
</div>
|
|
431
|
-
<span
|
|
432
|
-
class="oi result-item__icon"
|
|
433
|
-
data-glyph="bookmark"
|
|
434
|
-
data-bind-css="searchResults[7].bookmarkedCss"
|
|
435
|
-
data-bind-click="onAdBookmarkClick"
|
|
436
|
-
data-index="7"
|
|
437
|
-
></span>
|
|
438
|
-
<span class="oi result-item__icon" data-glyph="thumb-up">24</span>
|
|
439
457
|
</div>
|
|
440
458
|
</div>
|
|
441
459
|
</div>
|
|
@@ -454,8 +472,8 @@
|
|
|
454
472
|
class="mass-message__trigger-wrap"
|
|
455
473
|
data-bind-css="messageTriggerCss"
|
|
456
474
|
data-bind-click="onMessageTriggerClick"
|
|
457
|
-
data-toggle="modal"
|
|
458
|
-
data-target="#message-modal"
|
|
475
|
+
data-bs-toggle="modal"
|
|
476
|
+
data-bs-target="#message-modal"
|
|
459
477
|
>
|
|
460
478
|
<div class="mass-message__trigger">
|
|
461
479
|
<span class="oi mass-message__trigger-icon" data-glyph="pencil" aria-label="write message"></span>
|
|
@@ -483,9 +501,7 @@
|
|
|
483
501
|
<form id="formMessage" data-bind-submit="onMessageSubmit">
|
|
484
502
|
<div class="modal-header">
|
|
485
503
|
<h5 class="modal-title" id="exampleModalLabel">Send Message</h5>
|
|
486
|
-
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
487
|
-
<span aria-hidden="true">×</span>
|
|
488
|
-
</button>
|
|
504
|
+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
489
505
|
</div>
|
|
490
506
|
<div class="modal-body">
|
|
491
507
|
<div data-bind-show="!sendingMessage">
|
|
@@ -525,7 +541,7 @@
|
|
|
525
541
|
</p>
|
|
526
542
|
</div>
|
|
527
543
|
<div class="modal-footer">
|
|
528
|
-
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">
|
|
544
|
+
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
|
529
545
|
Close
|
|
530
546
|
</button>
|
|
531
547
|
<button
|
|
@@ -544,24 +560,26 @@
|
|
|
544
560
|
|
|
545
561
|
<!-- searchResultItem test with deep nested templates -->
|
|
546
562
|
<template id="searchResultItem">
|
|
547
|
-
<div
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
<img
|
|
553
|
-
data-bind-if="result.image"
|
|
554
|
-
data-bind-attr="{
|
|
555
|
-
src: $data.image,
|
|
556
|
-
alt: $data.title
|
|
557
|
-
}"
|
|
558
|
-
class="card-img-top result-item__img"
|
|
563
|
+
<div class="col">
|
|
564
|
+
<div
|
|
565
|
+
class="card result-item h-100"
|
|
566
|
+
data-bind-css="$data.highlightCss"
|
|
567
|
+
data-bind-for="result of $root.searchResults"
|
|
559
568
|
>
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
569
|
+
<img
|
|
570
|
+
data-bind-if="result.image"
|
|
571
|
+
data-bind-attr="{
|
|
572
|
+
src: $data.image,
|
|
573
|
+
alt: $data.title
|
|
574
|
+
}"
|
|
575
|
+
class="card-img-top result-item__img"
|
|
576
|
+
>
|
|
577
|
+
<div
|
|
578
|
+
class="card-body"
|
|
579
|
+
data-bind-tmp="{id: 'searchResultItemBody', data: 'result'}"
|
|
580
|
+
></div>
|
|
581
|
+
<div data-bind-tmp="{id: 'searchResultItemFooter', data: 'result'}" ></div>
|
|
582
|
+
</div>
|
|
565
583
|
</div>
|
|
566
584
|
</template>
|
|
567
585
|
|
|
@@ -610,15 +628,8 @@
|
|
|
610
628
|
></span>
|
|
611
629
|
</template>
|
|
612
630
|
|
|
613
|
-
<!--
|
|
614
|
-
|
|
615
|
-
<script src="../vendors/jquery-3.2.1.min.js"></script>
|
|
616
|
-
<script src="bootstrap/js/popper.min.js"></script>
|
|
617
|
-
<script src="bootstrap/js/bootstrap.min.js"></script>
|
|
618
|
-
|
|
619
|
-
<!-- twitter typeahead JavaScript -->
|
|
620
|
-
<script src="bootstrap/js/typeahead.jquery.js"></script>
|
|
621
|
-
<script src="bootstrap/js/searchSuggestion.js"></script>
|
|
631
|
+
<!-- Bootstrap 5 JavaScript -->
|
|
632
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
|
|
622
633
|
|
|
623
634
|
<!-- dataBind JavaScript -->
|
|
624
635
|
<script src="../vendors/lodash.custom.min.js"></script>
|