@worksafevictoria/wcl7.5 1.8.0-beta.8 → 1.8.0-beta.9
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/package.json +1 -1
- package/src/components/Paragraphs/Directory/Asbestos/Records/SingleRecord/index.stories.js +30 -0
- package/src/components/Paragraphs/Directory/Asbestos/Records/SingleRecord/index.vue +182 -0
- package/src/components/Paragraphs/Directory/Asbestos/Records/index.stories.js +19 -0
- package/src/components/Paragraphs/Directory/Asbestos/Records/index.vue +254 -0
- package/src/components/Paragraphs/Directory/HSCP/Records/index.vue +1 -1
- package/src/index.js +2 -0
- package/src/mock/asbestos-removalists.js +226 -0
package/package.json
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import arRecord from './index.vue'
|
|
2
|
+
|
|
3
|
+
const arData =
|
|
4
|
+
{
|
|
5
|
+
title: 'Ventia Utility Services Pty Limited',
|
|
6
|
+
fullAddress: 'Ventia - Cardinia Building, 25 Lucknow Street MITCHAM VIC 3132',
|
|
7
|
+
workPhone: '0438531164',
|
|
8
|
+
mobilePhone: '0438531164',
|
|
9
|
+
email: 'daniel.dehaan@ventia.com',
|
|
10
|
+
website: 'http://www.ventia.com.au',
|
|
11
|
+
contact1: 'Daniel DeHaan',
|
|
12
|
+
phone1: '0438531164',
|
|
13
|
+
email1: 'daniel.dehaan@ventia.com',
|
|
14
|
+
mobile1: '0438531164',
|
|
15
|
+
serviceCategory: 'Class B - Restricted - Asbestos Removalists',
|
|
16
|
+
services: 'Bituminous coal tar coatings,Non-friable Asbestos Cement Water Pipes and Associated Fittings ONLY,Non-friable Asbetos Containing Bituminous Coating on Mild Steel Pipes',
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
export default {
|
|
21
|
+
title: 'Paragraphs/Directory/Asbestos/SingleRecord',
|
|
22
|
+
component: arRecord,
|
|
23
|
+
tags: ['autodocs']
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const Removalist = {}
|
|
27
|
+
|
|
28
|
+
Removalist.args = {
|
|
29
|
+
item: arData,
|
|
30
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="paragraph--directory__records--dir">
|
|
3
|
+
<!-- Main details -->
|
|
4
|
+
<container>
|
|
5
|
+
<row class="records">
|
|
6
|
+
<column md="2" sm="12" class="title" >
|
|
7
|
+
<a name="titleLink" v-if="item.title" href="javascript:void(0)" :aria-expanded="visible ? 'true' : 'false'" @click="this.visible = !this.visible">
|
|
8
|
+
{{ item.title }}
|
|
9
|
+
</a>
|
|
10
|
+
</column>
|
|
11
|
+
<column md="2" sm="12" class="address" >
|
|
12
|
+
<div class="label">Office address</div>
|
|
13
|
+
<a v-if="item.fullAddress" target="_blank" :href="gMapLink"><span class="sr-only visually-hidden">Address</span>
|
|
14
|
+
{{ item.fullAddress }}
|
|
15
|
+
</a>
|
|
16
|
+
</column>
|
|
17
|
+
<column md="2" sm="12" class="coldata longstring" >
|
|
18
|
+
<div class="label">Email</div>
|
|
19
|
+
<a v-if="item.email" target="_blank" :href="`mailto:${item.email}`"><span class="sr-only visually-hidden">Email address</span>
|
|
20
|
+
{{ item.email }}
|
|
21
|
+
</a>
|
|
22
|
+
</column>
|
|
23
|
+
<column md="3" sm="12" class="coldata longstring" >
|
|
24
|
+
<div class="label">Website</div>
|
|
25
|
+
<a v-if="item.website" target="_blank" :href="`${item.website}`"><span class="sr-only visually-hidden">Website address</span>
|
|
26
|
+
{{ item.website }}
|
|
27
|
+
</a>
|
|
28
|
+
</column>
|
|
29
|
+
<column md="2" sm="12" class="coldata" >
|
|
30
|
+
<div class="label">Phone</div>
|
|
31
|
+
<a v-if="item.workPhone || item.mobilePhone" :href="`tel:${item.workPhone || item.mobilePhone}`"><span class="sr-only visually-hidden">Phone number</span>
|
|
32
|
+
{{ item.workPhone || item.mobilePhone }}
|
|
33
|
+
</a>
|
|
34
|
+
</column>
|
|
35
|
+
</row>
|
|
36
|
+
<div class="dir-caret" >
|
|
37
|
+
<a v-if="visible" href="javascript:void(0)" @click="this.visible = false">
|
|
38
|
+
<img
|
|
39
|
+
:src="CaretUp"
|
|
40
|
+
height="12"
|
|
41
|
+
width="17"
|
|
42
|
+
alt="Expand Detail">
|
|
43
|
+
</a>
|
|
44
|
+
<a v-if="!visible" href="javascript:void(0)" @click="this.visible = true">
|
|
45
|
+
<img
|
|
46
|
+
:src="CaretDown"
|
|
47
|
+
height="12"
|
|
48
|
+
width="17"
|
|
49
|
+
alt="Expand Detail">
|
|
50
|
+
</a>
|
|
51
|
+
</div>
|
|
52
|
+
</container>
|
|
53
|
+
|
|
54
|
+
<!-- Additional Content -->
|
|
55
|
+
<container>
|
|
56
|
+
<div v-if="this.visible">
|
|
57
|
+
<div style="padding-top: 20px;">
|
|
58
|
+
<hr>
|
|
59
|
+
</div>
|
|
60
|
+
<!-- Contacts, if any -->
|
|
61
|
+
<div v-if="validContacts">
|
|
62
|
+
<row >
|
|
63
|
+
<column >
|
|
64
|
+
<h4>Contact Information</h4>
|
|
65
|
+
</column>
|
|
66
|
+
</row>
|
|
67
|
+
<row v-if="item.contact1 !== ''">
|
|
68
|
+
<column sm="2" class="label" v-if="item.contact1 !== ''">
|
|
69
|
+
Contact
|
|
70
|
+
</column>
|
|
71
|
+
<column sm="4" class="dir-additional-records" v-if="item.contact1 !== ''">
|
|
72
|
+
{{item.contact1}}
|
|
73
|
+
</column>
|
|
74
|
+
</row>
|
|
75
|
+
<row v-if="item.phone1 !== ''">
|
|
76
|
+
<column sm="2" class="label" v-if="item.phone1 !== ''">
|
|
77
|
+
Phone
|
|
78
|
+
</column>
|
|
79
|
+
<column sm="4" class="dir-additional-records" v-if="item.phone1 !== ''">
|
|
80
|
+
{{item.phone1}}
|
|
81
|
+
</column>
|
|
82
|
+
</row>
|
|
83
|
+
<row v-if="item.mobile1 !== ''">
|
|
84
|
+
<column sm="2" class="label" v-if="item.mobile1 !== ''">
|
|
85
|
+
Mobile
|
|
86
|
+
</column>
|
|
87
|
+
<column sm="4" class="dir-additional-records" v-if="item.mobile1 !== ''">
|
|
88
|
+
{{item.mobile1}}
|
|
89
|
+
</column>
|
|
90
|
+
</row>
|
|
91
|
+
<row v-if="item.email1 !== ''">
|
|
92
|
+
<column sm="2" class="label" v-if="item.email1 !== ''">
|
|
93
|
+
Email
|
|
94
|
+
</column>
|
|
95
|
+
<column sm="4" class="dir-additional-records" v-if="item.email1 !== ''">
|
|
96
|
+
{{item.email1}}
|
|
97
|
+
</column>
|
|
98
|
+
</row>
|
|
99
|
+
</div>
|
|
100
|
+
<div v-if="item.serviceCategory">
|
|
101
|
+
<row class="row-dir-additional">
|
|
102
|
+
<column>
|
|
103
|
+
<h4> {{ item.serviceCategory }}</h4>
|
|
104
|
+
</column>
|
|
105
|
+
</row>
|
|
106
|
+
<row class="dir-additional-records">
|
|
107
|
+
<column >
|
|
108
|
+
<ul>
|
|
109
|
+
<li v-for="(serv) in item.services.split(',')" :key="serv.id">
|
|
110
|
+
{{serv}}
|
|
111
|
+
</li>
|
|
112
|
+
</ul>
|
|
113
|
+
</column>
|
|
114
|
+
</row>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</container>
|
|
118
|
+
</div>
|
|
119
|
+
</template>
|
|
120
|
+
<script>
|
|
121
|
+
import Container from '../../../../../Containers/Container/index.vue'
|
|
122
|
+
import Row from '../../../../../Containers/Row/index.vue'
|
|
123
|
+
import Column from '../../../../../Containers/Column/index.vue'
|
|
124
|
+
import CaretUp from './../../../../../../assets/icons/caret-up.svg?url'
|
|
125
|
+
import CaretDown from './../../../../../../assets/icons/caret-down.svg?url'
|
|
126
|
+
|
|
127
|
+
export default {
|
|
128
|
+
components: {
|
|
129
|
+
Container,
|
|
130
|
+
Row,
|
|
131
|
+
Column,
|
|
132
|
+
},
|
|
133
|
+
props: {
|
|
134
|
+
item: {
|
|
135
|
+
type: Object,
|
|
136
|
+
required: true
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
data() {
|
|
140
|
+
return {
|
|
141
|
+
visible: false,
|
|
142
|
+
CaretUp,
|
|
143
|
+
CaretDown,
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
computed: {
|
|
147
|
+
gMapLink() {
|
|
148
|
+
return `https://google.com/maps?q=${this.item.title}%20${this.item.fullAddress}`
|
|
149
|
+
},
|
|
150
|
+
validContacts() {
|
|
151
|
+
if (this.item.contact1 === '' && this.item.phone1 === '' && this.item.email1 === '' && this.item.mobile1 === '') {
|
|
152
|
+
return false
|
|
153
|
+
} else {
|
|
154
|
+
return true
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
},
|
|
159
|
+
methods: {
|
|
160
|
+
handleClick(title) {
|
|
161
|
+
this.visible = !this.visible
|
|
162
|
+
if (this.$gtm) {
|
|
163
|
+
if (this.visible) {
|
|
164
|
+
this.$gtm.push({ event: 'custom.search.prs.open', title })
|
|
165
|
+
} else {
|
|
166
|
+
this.$gtm.push({
|
|
167
|
+
event: 'custom.search.prs.close',
|
|
168
|
+
title
|
|
169
|
+
})
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
</script>
|
|
176
|
+
|
|
177
|
+
<style lang="scss" scoped>
|
|
178
|
+
|
|
179
|
+
@import '../../../HSCP/Records/SingleRecord/styles.scss'
|
|
180
|
+
|
|
181
|
+
</style>
|
|
182
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Records from './index.vue'
|
|
2
|
+
import { arData } from '../../../../../mock/asbestos-removalists'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Paragraphs/Directory/Asbestos/Records',
|
|
7
|
+
component: Records,
|
|
8
|
+
tags: ['autodocs'],
|
|
9
|
+
data() {
|
|
10
|
+
return {
|
|
11
|
+
arData
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
args: {
|
|
15
|
+
items: arData,
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Removalists = {}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<section-group class="paragraph--directory dir-filters">
|
|
3
|
+
<!-- Filters -->
|
|
4
|
+
<row style="column-gap: 16px;">
|
|
5
|
+
<!-- Keyword Filters -->
|
|
6
|
+
<column xxl="2" xl="3" md="4" sm="6">
|
|
7
|
+
<label class="visually-hidden" for="search-directory">
|
|
8
|
+
Search by keyword (typed keyword automatically filters below results)
|
|
9
|
+
</label>
|
|
10
|
+
<input type="text" v-model="searchRem" placeholder="Removalist" class="search">
|
|
11
|
+
</column>
|
|
12
|
+
<column xxl="2" xl="3" md="4" sm="6">
|
|
13
|
+
<label class="visually-hidden" for="search-directory">
|
|
14
|
+
Search by suburb (typed suburb automatically filters below results)
|
|
15
|
+
</label>
|
|
16
|
+
<input type="text" v-model="searchSub" placeholder="Address" class="search">
|
|
17
|
+
</column>
|
|
18
|
+
<!-- Other Filters -->
|
|
19
|
+
<column xxl="2" xl="3" md="4" sm="6">
|
|
20
|
+
<select id="filterType" v-model="searchClass" name="filter" class="selectClass">
|
|
21
|
+
<option class="placeholder" value="" disabled hidden selected>Service class</option>
|
|
22
|
+
<option value="Class A Asbestos Removalists">Class A Asbestos Removalists</option>
|
|
23
|
+
<option value="Class B Asbestos Removalists">Class B Asbestos Removalists</option>
|
|
24
|
+
<option value="Class A - Restricted - Asbestos Removalists">Class A - Restricted - Asbestos Removalists</option>
|
|
25
|
+
<option value="Class B - Restricted - Asbestos Removalists">Class B - Restricted - Asbestos Removalists</option>
|
|
26
|
+
</select>
|
|
27
|
+
</column>
|
|
28
|
+
<column xxl="2" xl="3" md="4" sm="6">
|
|
29
|
+
<label class="visually-hidden" for="search-directory">
|
|
30
|
+
Search by suburb (typed suburb automatically filters below results)
|
|
31
|
+
</label>
|
|
32
|
+
<input type="text" v-model="searchServices" placeholder="Services" class="search">
|
|
33
|
+
</column>
|
|
34
|
+
<column md="2">
|
|
35
|
+
<filter-button
|
|
36
|
+
v-if="!hideReset"
|
|
37
|
+
filter-button="!hideReset"
|
|
38
|
+
:is-reset="true"
|
|
39
|
+
class="filterButton__button filterButton__button--reset"
|
|
40
|
+
@clicked="reset"
|
|
41
|
+
/>
|
|
42
|
+
</column>
|
|
43
|
+
</row>
|
|
44
|
+
<!-- AR Records -->
|
|
45
|
+
<div class="dirRecords" >
|
|
46
|
+
<template v-for="(item, index) in resultChunks[page]" >
|
|
47
|
+
<ar-record v-if="item.type === 'ar'" :key="index" :item="item"/>
|
|
48
|
+
</template>
|
|
49
|
+
</div>
|
|
50
|
+
<div v-if="filteredRecords.length > 0" align-items="center">
|
|
51
|
+
<pagination
|
|
52
|
+
:total-pages="totalPages"
|
|
53
|
+
:total="totalResults"
|
|
54
|
+
:per-page="perPage"
|
|
55
|
+
:current-page="page + 1"
|
|
56
|
+
@pagechanged="pageChanged($event)"
|
|
57
|
+
/>
|
|
58
|
+
</div>
|
|
59
|
+
<h4 v-if="filteredRecords.length === 0">No records found</h4>
|
|
60
|
+
|
|
61
|
+
</section-group>
|
|
62
|
+
|
|
63
|
+
</template>
|
|
64
|
+
|
|
65
|
+
<script>
|
|
66
|
+
|
|
67
|
+
import arRecord from './SingleRecord/index.vue'
|
|
68
|
+
import searchIcon from './../../../../../assets/icons/search.svg?url'
|
|
69
|
+
import SectionGroup from '../../../../Containers/SectionGroup/index.vue'
|
|
70
|
+
import FilterButton from '../../../../Common/FilterButton/index.vue' //Reset
|
|
71
|
+
import Pagination from '../../HSCP/Records/pagination.vue'
|
|
72
|
+
|
|
73
|
+
export default {
|
|
74
|
+
name: 'Asbestos',
|
|
75
|
+
components: {
|
|
76
|
+
arRecord,
|
|
77
|
+
SectionGroup,
|
|
78
|
+
FilterButton,
|
|
79
|
+
Pagination
|
|
80
|
+
},
|
|
81
|
+
data() {
|
|
82
|
+
return {
|
|
83
|
+
searchRem: '',
|
|
84
|
+
searchSub: '',
|
|
85
|
+
searchClass: '',
|
|
86
|
+
searchServices: '',
|
|
87
|
+
filteredItems: null,
|
|
88
|
+
perPage: 10,
|
|
89
|
+
page: 0,
|
|
90
|
+
searchIcon,
|
|
91
|
+
hideReset: true
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
props: {
|
|
95
|
+
items: {
|
|
96
|
+
type: Array,
|
|
97
|
+
required: true,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
computed: {
|
|
102
|
+
|
|
103
|
+
filteredRecords() {
|
|
104
|
+
let results = this.flatRecords
|
|
105
|
+
|
|
106
|
+
if (this.searchRem.length) {
|
|
107
|
+
this.hideReset = false
|
|
108
|
+
results = results.filter(item => item.title.toLowerCase().includes(this.searchRem.toLowerCase()))
|
|
109
|
+
}
|
|
110
|
+
if (this.searchSub.length) {
|
|
111
|
+
this.hideReset = false
|
|
112
|
+
results = results.filter(item => item.fullAddress.toLowerCase().includes(this.searchSub.toLowerCase()))
|
|
113
|
+
}
|
|
114
|
+
if (this.searchClass.length) {
|
|
115
|
+
this.hideReset = false
|
|
116
|
+
results = results.filter(item => item.serviceCategory.toLowerCase().includes(this.searchClass.toLowerCase()))
|
|
117
|
+
}
|
|
118
|
+
if (this.searchServices.length) {
|
|
119
|
+
this.hideReset = false
|
|
120
|
+
results = results.filter(item => item.services.toLowerCase().includes(this.searchServices.toLowerCase()))
|
|
121
|
+
}
|
|
122
|
+
this.filteredItems = results
|
|
123
|
+
|
|
124
|
+
if (this.searchRem.length || this.searchSub.length || this.searchClass.length || this.searchServices.length) {
|
|
125
|
+
this.pageChanged(1)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return results
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
flatRecords() {
|
|
132
|
+
let flatRecords = []
|
|
133
|
+
const sortedItems = this.items.sort((a, b) => a.ResourceName.localeCompare(b.ResourceName, 'en', {'sensitivity': 'base'}))
|
|
134
|
+
|
|
135
|
+
sortedItems.forEach((record) => {
|
|
136
|
+
flatRecords.push({
|
|
137
|
+
type: 'ar',
|
|
138
|
+
title: record.ResourceName,
|
|
139
|
+
fullAddress: record.CompanyAddress + ' ' + record.AddressLine2,
|
|
140
|
+
workPhone: record.Phone,
|
|
141
|
+
mobilePhone: record.CompanyMobile,
|
|
142
|
+
email: record.CompanyEmailDisp,
|
|
143
|
+
website: this.formatWebsite(record.CompanyWebURLDisp),
|
|
144
|
+
contact1: record.ContactFirstName + ' ' + record.ContactLastName,
|
|
145
|
+
email1: record.ContactEmail,
|
|
146
|
+
phone1: record.ContactPhoneDisp,
|
|
147
|
+
mobile1: record.ContactMobileDisp,
|
|
148
|
+
services: record.ServicesAll.replace(/,$/, ''),
|
|
149
|
+
serviceCategory: record.ServiceAll
|
|
150
|
+
})
|
|
151
|
+
})
|
|
152
|
+
return flatRecords
|
|
153
|
+
},
|
|
154
|
+
resultChunks() {
|
|
155
|
+
return this.chunkify(this.filteredItems || this.items, this.perPage)
|
|
156
|
+
},
|
|
157
|
+
noRecordsFound() {
|
|
158
|
+
return this.resultChunks[0].length === 0
|
|
159
|
+
},
|
|
160
|
+
totalResults() {
|
|
161
|
+
return Array.isArray(this.filteredItems) ? this.filteredItems.length : 0
|
|
162
|
+
},
|
|
163
|
+
totalPages() {
|
|
164
|
+
return this.resultChunks.length
|
|
165
|
+
},
|
|
166
|
+
pageResultCount() {
|
|
167
|
+
return this.resultChunks[this.page].length
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
methods: {
|
|
172
|
+
|
|
173
|
+
formatWebsite(url) {
|
|
174
|
+
let startUrl = url.slice(0, 3)
|
|
175
|
+
if (startUrl.toLowerCase() === 'www') {
|
|
176
|
+
return 'https://' + url
|
|
177
|
+
} else {
|
|
178
|
+
return url
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
|
|
182
|
+
chunkify(arr, n) {
|
|
183
|
+
if (arr) {
|
|
184
|
+
const chunked = arr.reduce(
|
|
185
|
+
(chunk, val) => {
|
|
186
|
+
if (chunk[chunk.length - 1].length === n) chunk.push([])
|
|
187
|
+
chunk[chunk.length - 1].push(val)
|
|
188
|
+
return chunk
|
|
189
|
+
},
|
|
190
|
+
[[]]
|
|
191
|
+
)
|
|
192
|
+
return chunked
|
|
193
|
+
}
|
|
194
|
+
return [[]]
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
reset() {
|
|
198
|
+
this.collapseOrgs('No')
|
|
199
|
+
this.hideReset = true
|
|
200
|
+
this.searchRem = ''
|
|
201
|
+
this.searchClass = ''
|
|
202
|
+
this.searchSub = ''
|
|
203
|
+
this.searchServices = ''
|
|
204
|
+
},
|
|
205
|
+
|
|
206
|
+
pageChanged(ev) {
|
|
207
|
+
this.page = ev - 1
|
|
208
|
+
|
|
209
|
+
if (this.searchRem.length || this.searchSub.length || this.searchClass.length || this.searchServices.length) {
|
|
210
|
+
// don't set focus
|
|
211
|
+
// don't collapseOrgs
|
|
212
|
+
} else {
|
|
213
|
+
// set focus to top element - used instead of scrollTo
|
|
214
|
+
this.collapseOrgs('Yes')
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
|
|
218
|
+
collapseOrgs(focusLink) {
|
|
219
|
+
// called by pageChanged and reset. pageChanged called by filter and by pagination links
|
|
220
|
+
const aLinks = document.getElementsByName('titleLink')
|
|
221
|
+
// Convert nodelist to array
|
|
222
|
+
let linksArr = Array.from(aLinks)
|
|
223
|
+
if (Array.isArray(linksArr) && linksArr.length > 0) {
|
|
224
|
+
linksArr
|
|
225
|
+
.filter((link) => link.getAttribute('aria-expanded') === 'true')
|
|
226
|
+
.forEach((link) => link.click())
|
|
227
|
+
|
|
228
|
+
if (focusLink === 'Yes') {
|
|
229
|
+
linksArr[0].focus()
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
},
|
|
234
|
+
|
|
235
|
+
toTitleCase(strVal) {
|
|
236
|
+
|
|
237
|
+
let retVal = strVal.trim()
|
|
238
|
+
|
|
239
|
+
const firstChar = retVal.charAt(0)
|
|
240
|
+
const firstCharU = firstChar.toUpperCase()
|
|
241
|
+
const remChar = retVal.slice(1)
|
|
242
|
+
|
|
243
|
+
retVal = firstCharU + remChar
|
|
244
|
+
|
|
245
|
+
return retVal
|
|
246
|
+
},
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
</script>
|
|
250
|
+
|
|
251
|
+
<style lang="scss" scoped>
|
|
252
|
+
@import '../../HSCP/styles.scss'
|
|
253
|
+
|
|
254
|
+
</style>
|
package/src/index.js
CHANGED
|
@@ -31,6 +31,7 @@ import ListGroup from './components/Paragraphs/ListGroup/index.vue'
|
|
|
31
31
|
import ScrollSpy from './components/Paragraphs/ScrollSpy/index.vue'
|
|
32
32
|
import Directory from './components/Paragraphs/Directory/index.vue'
|
|
33
33
|
import HscpDirectory from './components/Paragraphs/Directory/HSCP/Records/index.vue'
|
|
34
|
+
import ArDirectory from './components/Paragraphs/Directory/Asbestos/Records/index.vue'
|
|
34
35
|
import SelectableCards from './components/Paragraphs/SelectableCards/index.vue'
|
|
35
36
|
import VideoMedia from './components/Paragraphs/VideoPlayer/index.vue'
|
|
36
37
|
import VideoGrid from './components/Paragraphs/VideoGrid/index.vue'
|
|
@@ -99,6 +100,7 @@ export {
|
|
|
99
100
|
ScrollSpy,
|
|
100
101
|
Directory,
|
|
101
102
|
HscpDirectory,
|
|
103
|
+
ArDirectory,
|
|
102
104
|
SelectableCards,
|
|
103
105
|
Statistics,
|
|
104
106
|
ProofPoints,
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
export const arData = [
|
|
2
|
+
{
|
|
3
|
+
ResourceName: 'A.D.S. Asbestos Removal Pty Ltd',
|
|
4
|
+
CompanyAddress: '62 Webber Parade',
|
|
5
|
+
AddressLine2: 'KEILOR EAST VIC 3033',
|
|
6
|
+
Phone: '0404073745',
|
|
7
|
+
CompanyMobile: '0404 073 745',
|
|
8
|
+
CompanyEmailDisp: 'ads.asbestos@gmail.com',
|
|
9
|
+
CompanyWebURLDisp: 'www.adsasbestosremoval.com.au',
|
|
10
|
+
ContactFirstName: 'Ivan',
|
|
11
|
+
ContactLastName: 'Silva',
|
|
12
|
+
ContactPhoneDisp: '0404073745',
|
|
13
|
+
ContactEmail: 'ads.asbestos@gmail.com',
|
|
14
|
+
ContactMobileDisp: '1300 064 277',
|
|
15
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
16
|
+
ServicesAll: 'removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire and does not require an enclosure with a negative air unit(s) to perform the work.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
ResourceName: 'AAA ASBESTOS SOLUTIONS PTY LTD',
|
|
20
|
+
CompanyAddress: '9 Ewens Court',
|
|
21
|
+
AddressLine2: 'MOUNT GAMBIER VIC 5290',
|
|
22
|
+
Phone: '0418 854 443',
|
|
23
|
+
CompanyMobile: '0418 854 443',
|
|
24
|
+
CompanyEmailDisp: 'nieto4@bigpond.net.au',
|
|
25
|
+
CompanyWebURLDisp: '',
|
|
26
|
+
ContactFirstName: 'ERIC',
|
|
27
|
+
ContactLastName: 'NIETO',
|
|
28
|
+
ContactPhoneDisp: '0418 854 443',
|
|
29
|
+
ContactEmail: 'nieto4@bigpond.net.au',
|
|
30
|
+
ContactMobileDisp: '0418 854 443',
|
|
31
|
+
ServiceAll: 'Class B Asbestos Removalists',
|
|
32
|
+
ServicesAll: 'All types of non-friable asbestos containing material (eg. cement sheeting or vinyl tiles)',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
ResourceName: 'Aaron John Field',
|
|
36
|
+
CompanyAddress: '44 Townsent Street',
|
|
37
|
+
AddressLine2: 'Howlong NSW 2643',
|
|
38
|
+
Phone: '',
|
|
39
|
+
CompanyMobile: '0408474707',
|
|
40
|
+
CompanyEmailDisp: 'azz_317@homail.com',
|
|
41
|
+
CompanyWebURLDisp: '',
|
|
42
|
+
ContactFirstName: 'Aaron',
|
|
43
|
+
ContactLastName: 'Field',
|
|
44
|
+
ContactPhoneDisp: '',
|
|
45
|
+
ContactEmail: 'azz_317@homail.com',
|
|
46
|
+
ContactMobileDisp: '0408474707',
|
|
47
|
+
ServiceAll: 'Class B Asbestos Removalists',
|
|
48
|
+
ServicesAll: 'All types of non-friable asbestos containing material (eg. cement sheeting or vinyl tiles),Telecommunication Asbestos cement pits and pipes',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
ResourceName: 'Al Baarini Ahmad',
|
|
52
|
+
CompanyAddress: '13 Rudkin Court',
|
|
53
|
+
AddressLine2: 'Hoppers Crossing VIC 3029',
|
|
54
|
+
Phone: '0421 280 732',
|
|
55
|
+
CompanyMobile: '0401 016 565',
|
|
56
|
+
CompanyEmailDisp: 'CITYWIDEDEMOLITION@HOTMAIL.COM',
|
|
57
|
+
CompanyWebURLDisp: 'www.citywidedemolition.com.au',
|
|
58
|
+
ContactFirstName: 'Eman',
|
|
59
|
+
ContactLastName: 'Al Baarini',
|
|
60
|
+
ContactPhoneDisp: '0421 280 732',
|
|
61
|
+
ContactEmail: 'CITYWIDEDEMOLITION@HOTMAIL.COM',
|
|
62
|
+
ContactMobileDisp: '0421 280 732',
|
|
63
|
+
ServiceAll: 'Class B Asbestos Removalists',
|
|
64
|
+
ServicesAll: 'All types of non-friable asbestos containing material (eg. cement sheeting or vinyl tiles)',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
ResourceName: 'Ashcorp Holdings Pty Ltd',
|
|
68
|
+
CompanyAddress: '17 Rohs Road',
|
|
69
|
+
AddressLine2: 'EAST BENDIGO VIC 3550',
|
|
70
|
+
Phone: '(03) 5444 3261',
|
|
71
|
+
CompanyMobile: '0409 012 780',
|
|
72
|
+
CompanyEmailDisp: 'admin@ashworthdemolition.com.au',
|
|
73
|
+
CompanyWebURLDisp: '',
|
|
74
|
+
ContactFirstName: 'Dean',
|
|
75
|
+
ContactLastName: 'Ashworth',
|
|
76
|
+
ContactPhoneDisp: '(03) 5444 3261',
|
|
77
|
+
ContactEmail: 'info@ashworthdemolition.com.au',
|
|
78
|
+
ContactMobileDisp: '0409012780',
|
|
79
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
80
|
+
ServicesAll: 'removal of all types of non-friable asbestos containing material,removal of asbestos containing gaskets and ropes,removal of friable asbestos containing material from soil that does not require an enclosure with negative air unit(s),removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire,The Licence is restricted to removal of asbestos containing material that does not require an enclosure with a negative air unit(s).'
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
ResourceName: 'Ventia Utility Services Pty Limited',
|
|
84
|
+
CompanyAddress: 'Ventia - Cardinia Building, 25 Lucknow Street',
|
|
85
|
+
AddressLine2: 'MITCHAM VIC 3132',
|
|
86
|
+
Phone: '0438531164',
|
|
87
|
+
CompanyMobile: '',
|
|
88
|
+
CompanyEmailDisp: 'daniel.dehaan@ventia.com',
|
|
89
|
+
CompanyWebURLDisp: 'www.ventia.com.au',
|
|
90
|
+
ContactFirstName: 'Daniel',
|
|
91
|
+
ContactLastName: 'DeHaan',
|
|
92
|
+
ContactPhoneDisp: '0438531164',
|
|
93
|
+
ContactEmail: 'daniel.dehaan@ventia.com',
|
|
94
|
+
ContactMobileDisp: '0438531164',
|
|
95
|
+
ServiceAll: 'Class B - Restricted - Asbestos Removalists',
|
|
96
|
+
ServicesAll: 'Bituminous coal tar coatings,Non-friable Asbestos Cement Water Pipes and Associated Fittings ONLY,Non-friable Asbetos Containing Bituminous Coating on Mild Steel Pipes',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
ResourceName: 'ONE A.D.S Asbestos Removal Pty Ltd',
|
|
100
|
+
CompanyAddress: '62 Webber Parade',
|
|
101
|
+
AddressLine2: 'KEILOR EAST VIC 3033',
|
|
102
|
+
Phone: '0404073745',
|
|
103
|
+
CompanyMobile: '0404 073 745',
|
|
104
|
+
CompanyEmailDisp: 'ads.asbestos@gmail.com',
|
|
105
|
+
CompanyWebURLDisp: 'http://www.adsasbestosremoval.com.au',
|
|
106
|
+
ContactFirstName: 'Ivan',
|
|
107
|
+
ContactLastName: 'Silva',
|
|
108
|
+
ContactPhoneDisp: '0404073745',
|
|
109
|
+
ContactEmail: 'ads.asbestos@gmail.com',
|
|
110
|
+
ContactMobileDisp: '1300 064 277',
|
|
111
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
112
|
+
ServicesAll: 'removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire and does not require an enclosure with a negative air unit(s) to perform the work.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
ResourceName: 'TWO A.D.S Asbestos Removal Pty Ltd',
|
|
116
|
+
CompanyAddress: '62 Webber Parade',
|
|
117
|
+
AddressLine2: 'KEILOR EAST VIC 3033',
|
|
118
|
+
Phone: '0404073745',
|
|
119
|
+
CompanyMobile: '0404 073 745',
|
|
120
|
+
CompanyEmailDisp: 'ads.asbestos@gmail.com',
|
|
121
|
+
CompanyWebURLDisp: 'http://www.adsasbestosremoval.com.au',
|
|
122
|
+
ContactFirstName: 'Ivan',
|
|
123
|
+
ContactLastName: 'Silva',
|
|
124
|
+
ContactPhoneDisp: '0404073745',
|
|
125
|
+
ContactEmail: 'ads.asbestos@gmail.com',
|
|
126
|
+
ContactMobileDisp: '1300 064 277',
|
|
127
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
128
|
+
ServicesAll: 'removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire and does not require an enclosure with a negative air unit(s) to perform the work.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
ResourceName: 'Three A.D.S Asbestos Removal Pty Ltd',
|
|
132
|
+
CompanyAddress: '62 Webber Parade',
|
|
133
|
+
AddressLine2: 'KEILOR EAST VIC 3033',
|
|
134
|
+
Phone: '0404073745',
|
|
135
|
+
CompanyMobile: '0404 073 745',
|
|
136
|
+
CompanyEmailDisp: 'ads.asbestos@gmail.com',
|
|
137
|
+
CompanyWebURLDisp: 'http://www.adsasbestosremoval.com.au',
|
|
138
|
+
ContactFirstName: 'Ivan',
|
|
139
|
+
ContactLastName: 'Silva',
|
|
140
|
+
ContactPhoneDisp: '0404073745',
|
|
141
|
+
ContactEmail: 'ads.asbestos@gmail.com',
|
|
142
|
+
ContactMobileDisp: '1300 064 277',
|
|
143
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
144
|
+
ServicesAll: 'removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire and does not require an enclosure with a negative air unit(s) to perform the work.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
ResourceName: 'FOUR A.D.S Asbestos Removal Pty Ltd',
|
|
148
|
+
CompanyAddress: '62 Webber Parade',
|
|
149
|
+
AddressLine2: 'KEILOR EAST VIC 3033',
|
|
150
|
+
Phone: '0404073745',
|
|
151
|
+
CompanyMobile: '0404 073 745',
|
|
152
|
+
CompanyEmailDisp: 'ads.asbestos@gmail.com',
|
|
153
|
+
CompanyWebURLDisp: 'http://www.adsasbestosremoval.com.au',
|
|
154
|
+
ContactFirstName: 'Ivan',
|
|
155
|
+
ContactLastName: 'Silva',
|
|
156
|
+
ContactPhoneDisp: '0404073745',
|
|
157
|
+
ContactEmail: 'ads.asbestos@gmail.com',
|
|
158
|
+
ContactMobileDisp: '1300 064 277',
|
|
159
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
160
|
+
ServicesAll: 'removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire and does not require an enclosure with a negative air unit(s) to perform the work.',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
ResourceName: 'Five A.D.S Asbestos Removal Pty Ltd',
|
|
164
|
+
CompanyAddress: '62 Webber Parade',
|
|
165
|
+
AddressLine2: 'KEILOR EAST VIC 3033',
|
|
166
|
+
Phone: '0404073745',
|
|
167
|
+
CompanyMobile: '0404 073 745',
|
|
168
|
+
CompanyEmailDisp: 'ads.asbestos@gmail.com',
|
|
169
|
+
CompanyWebURLDisp: 'http://www.adsasbestosremoval.com.au',
|
|
170
|
+
ContactFirstName: 'Ivan',
|
|
171
|
+
ContactLastName: 'Silva',
|
|
172
|
+
ContactPhoneDisp: '0404073745',
|
|
173
|
+
ContactEmail: 'ads.asbestos@gmail.com',
|
|
174
|
+
ContactMobileDisp: '1300 064 277',
|
|
175
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
176
|
+
ServicesAll: 'removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire and does not require an enclosure with a negative air unit(s) to perform the work.',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
ResourceName: 'SIX A.D.S Asbestos Removal Pty Ltd',
|
|
180
|
+
CompanyAddress: '62 Webber Parade',
|
|
181
|
+
AddressLine2: 'KEILOR EAST VIC 3033',
|
|
182
|
+
Phone: '0404073745',
|
|
183
|
+
CompanyMobile: '0404 073 745',
|
|
184
|
+
CompanyEmailDisp: 'ads.asbestos@gmail.com',
|
|
185
|
+
CompanyWebURLDisp: 'http://www.adsasbestosremoval.com.au',
|
|
186
|
+
ContactFirstName: 'Ivan',
|
|
187
|
+
ContactLastName: 'Silva',
|
|
188
|
+
ContactPhoneDisp: '0404073745',
|
|
189
|
+
ContactEmail: 'ads.asbestos@gmail.com',
|
|
190
|
+
ContactMobileDisp: '1300 064 277',
|
|
191
|
+
ServiceAll: 'Class A - Restricted - Asbestos Removalists',
|
|
192
|
+
ServicesAll: 'removal of any asbestos containing material that was previously non-friable but has become friable as a result of a fire and does not require an enclosure with a negative air unit(s) to perform the work.',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
ResourceName: 'SSM Asbestos Removal Pty Ltd',
|
|
196
|
+
CompanyAddress: '90 Marriage Lane',
|
|
197
|
+
AddressLine2: 'HILLSIDE VIC 3875',
|
|
198
|
+
Phone: '0405 083 197',
|
|
199
|
+
CompanyMobile: '0405 083 197',
|
|
200
|
+
CompanyEmailDisp: 'steve@ssmasbestos.com.au',
|
|
201
|
+
CompanyWebURLDisp: 'www.ssm-asbestosremoval.com',
|
|
202
|
+
ContactFirstName: 'Steven',
|
|
203
|
+
ContactLastName: 'McCarthy',
|
|
204
|
+
ContactPhoneDisp: '0405 083 197',
|
|
205
|
+
ContactEmail: 'steve@ssmasbestos.com.au',
|
|
206
|
+
ContactMobileDisp: '0405 083 197',
|
|
207
|
+
ServiceAll: 'Class A Asbestos Removalists',
|
|
208
|
+
ServicesAll: 'All types of Asbestos containing material (friable & non-friable)',
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
ResourceName: 'Golden Plains Asbestos PTY LTD',
|
|
212
|
+
CompanyAddress: '165 Grevillea Drive',
|
|
213
|
+
AddressLine2: 'ENFIELD VIC 3352',
|
|
214
|
+
Phone: '0450582103',
|
|
215
|
+
CompanyMobile: '0450582103',
|
|
216
|
+
CompanyEmailDisp: 'gpasbestos@outlook.com',
|
|
217
|
+
CompanyWebURLDisp: '',
|
|
218
|
+
ContactFirstName: 'Carlos',
|
|
219
|
+
ContactLastName: 'Rios',
|
|
220
|
+
ContactPhoneDisp: '0450582103',
|
|
221
|
+
ContactEmail: 'gpasbestos@outlook.com',
|
|
222
|
+
ContactMobileDisp: '0450582103',
|
|
223
|
+
ServiceAll: 'Class A Asbestos Removalists',
|
|
224
|
+
ServicesAll: 'All types of Asbestos containing material (friable & non-friable)',
|
|
225
|
+
}
|
|
226
|
+
]
|