11d6?NpaRd@~R2U3>6~#THTe4
zph;zr0LANMw-~&->S_62RR=orWP2M*xm9_z4s$8EuZ?x}rk{|9*HMXhJL=hY+$f*i
zbe4zjb^q(P{QEB!id?2AHc5zr!XWp8n%#(=1fwjO>O4iqhJYvKBX6qup3==k?6wa2
zQ0FB16c0Csl@}LyaPV#uNz+OF-v^h`*n>~s!+_S>{@N2FQV(E3m=4<$a!b_tEWQ$^
zGSB+S0b$pVv5&Z+5EfUD&0R2)syUWbFBf{lB}C!9Ds#taEp9Z=wtuQN+O=$9sf1o<
z$2qTau91)@8T_F{sga)47*l+7YuFjK8zk5;@AdjDTqrZmL*BFxzDvQGo~IpiQ>D=o
z#j6!^&ZrqXA6*P)vM0XTw;ah?&`{LXtG}SP{v^BNBZXtH|2Axp#G98@N#cj}Z^)1)
zy(c?+$rC9EzlL$IifSy5&XHGXnb!{Y2s!oZ&r>*)^?XH!F{az;oVv%6`Cgxx&kAzIL|LM-E3SejIdHb#vJowR37+#1RgT%)EL&
z_tm2yY+%`@uOwNpA&O;Fm{BbXo4Z^GEHu4osOVr|$)7nx(?*-SsjO|&={OBc)}D*Q
ziU8^E$woPDYSkfWD>&-JV8Di$EW!x*t{qMh4QSu02ubE!Y1-@6Ep06EowNn!%IYYp
zVt8A7a&1m=N9br_Wln_ild0D_jx(Cbh|7;rtqyIH?|ks5k*$sig1o1M6;BmM@-^g`
z!m-8o3@28g$+Y3b2z&le`qz%b0?UZn6skbroidyn*EL8b3jCrcD`pD2VNq$@x$!qs
zare7U42+{_DTRWnp`Ng4mwf)lptt-e8CeD7a|+b^LX7U}dxRa44&
zw@q^I-PZKg=yq4ul@yx&{%kMph&{n0L0qDgP1Lf}x){H*(?dAYQgf?JqFD@2lkctD
z-?kuse}JNvGw|xOi0F5KTjmGYV)ZA^S7-bq7E`_sQPN+i!)9X*4Kr;ZXR>9t|65V8
z3Hha3Qp-;y-W40Hg~M-2N&7>Adzpw*0J;GDk9hCf`<7S?0q@YaphBb}Z4!V40aW{k
z6W*RIdk113=ugQ2^x?}Hg^a6=GDbFo#VBM{Wty0C2XW6
X4mk_2ZPI)t69PQ{C}YeFL8ko+TRUmV
diff --git a/front/current/assets/fontello/font/blocpower.woff2 b/front/current/assets/fontello/font/blocpower.woff2
index 4b027a64e0f27a68446c00f18b63db02388151f2..4a2cde7d5c03fe7d5adec984b47835c92cd4ceab 100644
GIT binary patch
literal 3120
zcmV-04A1j-Pew8T0RR9101Pky4*&oF02sUg01MXu0RR9100000000000000000000
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
Date: Wed, 20 Apr 2016 09:44:14 -0400
Subject: [PATCH 16/51] Add a float-right style.
---
front/current/assets/styles/components/_global.scss | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/front/current/assets/styles/components/_global.scss b/front/current/assets/styles/components/_global.scss
index fff6e3f..c105424 100644
--- a/front/current/assets/styles/components/_global.scss
+++ b/front/current/assets/styles/components/_global.scss
@@ -98,6 +98,4 @@ code {
margin-top: 0;
}
-// Wrap an input in a div to add additional flair.
-.input {
-}
+.float-right { display: inline; float: right; }
--
GitLab
From 25394ee44d0df21bec16e90b806e3cdfea129737 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 09:44:33 -0400
Subject: [PATCH 17/51] Add a method on the project service to get the
salesforce url.
---
front/current/services/project/project.service.ts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/front/current/services/project/project.service.ts b/front/current/services/project/project.service.ts
index d41e5b7..b8d395b 100644
--- a/front/current/services/project/project.service.ts
+++ b/front/current/services/project/project.service.ts
@@ -1,8 +1,13 @@
import { Injectable } from 'angular2/core';
import { config } from '../../config';
+import { Model } from '../rest.service';
@Injectable()
export class ProjectService {
public config:any = config.SERVICES.project;
public url:string = '/project/';
+
+ getSalesForceUrl(model:Model) {
+ return '//na34.salesforce.com/' + model.data['sales_force_id'].substr(0, 15);
+ };
};
--
GitLab
From eb2fe255c231b0efca91bee0bddae8a493f2510d Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 09:44:46 -0400
Subject: [PATCH 18/51] Add a link to salesforce on the project detail page.
---
front/current/components/project/detail.component.html | 7 +++++++
front/current/components/project/detail.component.ts | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index ebbac18..13e084e 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -2,6 +2,13 @@
Back to list
+
diff --git a/front/current/components/project/detail.component.ts b/front/current/components/project/detail.component.ts
index b0b17d2..8c4b052 100644
--- a/front/current/components/project/detail.component.ts
+++ b/front/current/components/project/detail.component.ts
@@ -16,13 +16,13 @@ export class ProjectDetailComponent implements OnInit {
constructor(
private _routeParams:RouteParams,
private _restService:RestService,
- private _projectService:ProjectService
+ public projectService:ProjectService
) {};
project:Model;
ngOnInit() {
- this.project = this._restService.Model(this._projectService, {
+ this.project = this._restService.Model(this.projectService, {
id: this._routeParams.get('id')});
this.fetch();
};
--
GitLab
From 3c9982702a2d27e8b6347a56567538e4f6f0f18f Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 09:47:36 -0400
Subject: [PATCH 19/51] Move the loading icon for the project details page to a
more reasonable location.
---
.../components/project/detail.component.html | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index 13e084e..dc48349 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -11,12 +11,13 @@
-
-
-
-
-
-
- {{ project.data['name'] }}
-
-
+
--
GitLab
From 26f44022493177a813a3c42bad6a0da78831a227 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 11:48:43 -0400
Subject: [PATCH 20/51] Add an address service.
---
front/current/services/project/address.service.ts | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 front/current/services/project/address.service.ts
diff --git a/front/current/services/project/address.service.ts b/front/current/services/project/address.service.ts
new file mode 100644
index 0000000..3aece4a
--- /dev/null
+++ b/front/current/services/project/address.service.ts
@@ -0,0 +1,9 @@
+import { Injectable } from 'angular2/core';
+import { config } from '../../config';
+
+
+@Injectable()
+export class AddressService {
+ public config:any = config.SERVICES.project;
+ public url:string = '/address/';
+};
--
GitLab
From 128be7dbd8b16ff2daafc6b79a28f4d875ff2c95 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 11:48:56 -0400
Subject: [PATCH 21/51] Register the address service.
---
front/current/components/app/app.component.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/front/current/components/app/app.component.ts b/front/current/components/app/app.component.ts
index 0780347..a791520 100644
--- a/front/current/components/app/app.component.ts
+++ b/front/current/components/app/app.component.ts
@@ -7,6 +7,7 @@ import { config } from '../../config';
import { RestService } from '../../services/rest.service';
import { ProjectService } from '../../services/project/project.service';
import { DocumentSlotService } from '../../services/project/document-slot.service';
+import { AddressService } from '../../services/project/address.service';
import { DocumentService } from '../../services/document/document.service';
import { NavComponent } from '../nav/nav.component';
@@ -20,7 +21,7 @@ import { ProjectDetailComponent } from '../project/detail.component'
providers: [
ROUTER_PROVIDERS,
RestService,
- ProjectService, DocumentSlotService,
+ ProjectService, DocumentSlotService, AddressService,
DocumentService
],
directives: [ROUTER_DIRECTIVES, NavComponent]
--
GitLab
From 11c9fcc6f343bfce013d8ea0c7206c087c388213 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 11:49:18 -0400
Subject: [PATCH 22/51] Fetch the related address on the project detail
component.
---
.../components/project/detail.component.ts | 29 ++++++++++++++++---
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/front/current/components/project/detail.component.ts b/front/current/components/project/detail.component.ts
index 8c4b052..ae36277 100644
--- a/front/current/components/project/detail.component.ts
+++ b/front/current/components/project/detail.component.ts
@@ -3,8 +3,9 @@ import { RouteParams, ROUTER_DIRECTIVES } from 'angular2/router';
import { config } from '../../config';
-import { RestService, Model } from '../../services/rest.service';
+import { RestService, Model, Collection } from '../../services/rest.service';
import { ProjectService } from '../../services/project/project.service';
+import { AddressService } from '../../services/project/address.service';
@Component({
@@ -16,18 +17,38 @@ export class ProjectDetailComponent implements OnInit {
constructor(
private _routeParams:RouteParams,
private _restService:RestService,
- public projectService:ProjectService
+ public projectService:ProjectService,
+ public addressService:AddressService
) {};
project:Model;
+ private addresses:Collection;
+ address:Model;
+
ngOnInit() {
- this.project = this._restService.Model(this.projectService, {
- id: this._routeParams.get('id')});
+ let project_id = this._routeParams.get('id');
+
+ this.project = this._restService.Model(this.projectService, {id: project_id});
+ this.addresses = (this._restService.Collection(this.addressService, [])
+ .setFilters({'project_id': project_id}));
+
this.fetch();
};
fetch() {
+ this.fetchProject();
+ this.fetchAddress();
+ };
+
+ fetchProject() {
this.project.fetch();
};
+
+ fetchAddress() {
+ this.addresses.fetch(() => {
+ if (this.addresses.models.length)
+ this.address = this.addresses.models[0];
+ });
+ };
};
--
GitLab
From cdd8286fcf4d12bfe849aa0add88a35ad44e8b89 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 12:04:32 -0400
Subject: [PATCH 23/51] Add project detail address component.
---
.../components/project/address.component.html | 0
.../current/components/project/address.component.ts | 13 +++++++++++++
2 files changed, 13 insertions(+)
create mode 100644 front/current/components/project/address.component.html
create mode 100644 front/current/components/project/address.component.ts
diff --git a/front/current/components/project/address.component.html b/front/current/components/project/address.component.html
new file mode 100644
index 0000000..e69de29
diff --git a/front/current/components/project/address.component.ts b/front/current/components/project/address.component.ts
new file mode 100644
index 0000000..f7a8113
--- /dev/null
+++ b/front/current/components/project/address.component.ts
@@ -0,0 +1,13 @@
+import { Component } from 'angular2/core';
+import { config } from '../../config';
+import { Model } from '../../services/rest.service';
+
+
+@Component({
+ selector: 'address',
+ templateUrl: config.static_url + '/components/project/address.component.html',
+ inputs: ['address']
+})
+export class AddressComponent {
+ address:Model;
+};
--
GitLab
From 997c810af4c44fae3d08836242cc11dc569d1532 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 12:04:46 -0400
Subject: [PATCH 24/51] Tie address component into the project detail
component.
---
front/current/components/project/detail.component.html | 3 +++
front/current/components/project/detail.component.ts | 4 +++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index dc48349..b5194e8 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -19,5 +19,8 @@
{{ project.data['name'] }}
+
diff --git a/front/current/components/project/detail.component.ts b/front/current/components/project/detail.component.ts
index ae36277..fb94f33 100644
--- a/front/current/components/project/detail.component.ts
+++ b/front/current/components/project/detail.component.ts
@@ -7,11 +7,13 @@ import { RestService, Model, Collection } from '../../services/rest.service';
import { ProjectService } from '../../services/project/project.service';
import { AddressService } from '../../services/project/address.service';
+import { AddressComponent } from './address.component';
+
@Component({
selector: 'project',
templateUrl: config.static_url + '/components/project/detail.component.html',
- directives: [ROUTER_DIRECTIVES]
+ directives: [ROUTER_DIRECTIVES, AddressComponent]
})
export class ProjectDetailComponent implements OnInit {
constructor(
--
GitLab
From a7dc2c3a2f7b1074a9c4c2c8f863b4728fd1670a Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 12:09:41 -0400
Subject: [PATCH 25/51] Add content for the project detail address component.
---
front/current/components/project/address.component.html | 2 ++
1 file changed, 2 insertions(+)
diff --git a/front/current/components/project/address.component.html b/front/current/components/project/address.component.html
index e69de29..fc1d0db 100644
--- a/front/current/components/project/address.component.html
+++ b/front/current/components/project/address.component.html
@@ -0,0 +1,2 @@
+{{ address.data['street_address'] }}
+{{ address.data['city'] }}, {{ address.data['state'] }} {{ address.data['postal_code'] }}
--
GitLab
From 30c3713bb309739e98b44e328ece7693c43bb39b Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 12:09:58 -0400
Subject: [PATCH 26/51] Wrap the project detail address in an h2.
---
front/current/components/project/detail.component.html | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index b5194e8..d08c907 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -19,8 +19,8 @@
{{ project.data['name'] }}
-
+
+
+
--
GitLab
From 8c43cf49d55ca81a26578a14aaa47e57ec96881c Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 12:10:10 -0400
Subject: [PATCH 27/51] Remove italics on address elements.
---
front/current/assets/styles/components/_global.scss | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/front/current/assets/styles/components/_global.scss b/front/current/assets/styles/components/_global.scss
index c105424..f638658 100644
--- a/front/current/assets/styles/components/_global.scss
+++ b/front/current/assets/styles/components/_global.scss
@@ -79,15 +79,19 @@ a {
table {
border-spacing: 0px;
border-collapse: collapse;
+
+ td, th { padding: 0; }
}
- td, th {
- padding: 0;
- }
+
/* Code blocks */
code {
// Forces text to constrain to the line-height. Not ideal, but works.
vertical-align: bottom;
}
+
+/* Addresses */
+address { font-style: normal; }
+
/* Leading paragraph text */
.lead {
font-size: $scale * 1rem;
--
GitLab
From 3f65e7b5411501c4e2d109f072bbac6064b2e2c9 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 12:11:14 -0400
Subject: [PATCH 28/51] Wrap the project detail address in an h3.
---
front/current/components/project/detail.component.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index d08c907..e1e0691 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -20,7 +20,7 @@
{{ project.data['name'] }}
-
+
-
+
--
GitLab
From 86ef6b86220e37ca41d437dda0a658884435693c Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 12:12:50 -0400
Subject: [PATCH 29/51] Style the project detail address as gray.
---
front/current/assets/styles/components/_project.scss | 1 +
1 file changed, 1 insertion(+)
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index 6f283a5..e8b54f1 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -11,4 +11,5 @@ project {
margin-left: 50px;
header { padding: 10px; }
+ h3 { color: $gray-01; }
}
--
GitLab
From adaacaf1917a90149a3f6ec6d7f9864af40e8903 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 13:37:04 -0400
Subject: [PATCH 30/51] Add a contact service.
---
front/current/services/project/contact.service.ts | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 front/current/services/project/contact.service.ts
diff --git a/front/current/services/project/contact.service.ts b/front/current/services/project/contact.service.ts
new file mode 100644
index 0000000..4271bc2
--- /dev/null
+++ b/front/current/services/project/contact.service.ts
@@ -0,0 +1,8 @@
+import { Injectable } from 'angular2/core';
+import { config } from '../../config';
+
+@Injectable()
+export class ContactService {
+ public config:any = config.SERVICES.project;
+ public url:string = '/contact/';
+};
--
GitLab
From edd2ae402c2079bddbf2a43e552a7ac392af5eca Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 13:37:14 -0400
Subject: [PATCH 31/51] Register the contact service.
---
front/current/components/app/app.component.ts | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/front/current/components/app/app.component.ts b/front/current/components/app/app.component.ts
index a791520..4434792 100644
--- a/front/current/components/app/app.component.ts
+++ b/front/current/components/app/app.component.ts
@@ -6,8 +6,9 @@ import { config } from '../../config';
import { RestService } from '../../services/rest.service';
import { ProjectService } from '../../services/project/project.service';
-import { DocumentSlotService } from '../../services/project/document-slot.service';
import { AddressService } from '../../services/project/address.service';
+import { ContactService } from '../../services/project/contact.service';
+import { DocumentSlotService } from '../../services/project/document-slot.service';
import { DocumentService } from '../../services/document/document.service';
import { NavComponent } from '../nav/nav.component';
@@ -21,7 +22,7 @@ import { ProjectDetailComponent } from '../project/detail.component'
providers: [
ROUTER_PROVIDERS,
RestService,
- ProjectService, DocumentSlotService, AddressService,
+ ProjectService, AddressService, ContactService, DocumentSlotService,
DocumentService
],
directives: [ROUTER_DIRECTIVES, NavComponent]
--
GitLab
From 6b915f01cc49e5113d3f2db7292b49ca4ccb707d Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 13:39:24 -0400
Subject: [PATCH 32/51] Fetch project contacts in the detail component.
---
.../current/components/project/detail.component.ts | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/front/current/components/project/detail.component.ts b/front/current/components/project/detail.component.ts
index fb94f33..6e67005 100644
--- a/front/current/components/project/detail.component.ts
+++ b/front/current/components/project/detail.component.ts
@@ -6,6 +6,7 @@ import { config } from '../../config';
import { RestService, Model, Collection } from '../../services/rest.service';
import { ProjectService } from '../../services/project/project.service';
import { AddressService } from '../../services/project/address.service';
+import { ContactService } from '../../services/project/contact.service';
import { AddressComponent } from './address.component';
@@ -20,7 +21,8 @@ export class ProjectDetailComponent implements OnInit {
private _routeParams:RouteParams,
private _restService:RestService,
public projectService:ProjectService,
- public addressService:AddressService
+ public addressService:AddressService,
+ public contactService:ContactService
) {};
project:Model;
@@ -28,12 +30,16 @@ export class ProjectDetailComponent implements OnInit {
private addresses:Collection;
address:Model;
+ contacts:Collection;
+
ngOnInit() {
let project_id = this._routeParams.get('id');
this.project = this._restService.Model(this.projectService, {id: project_id});
this.addresses = (this._restService.Collection(this.addressService, [])
.setFilters({'project_id': project_id}));
+ this.contacts = (this._restService.Collection(this.contactService, [])
+ .setFilters({'project_id': project_id}));
this.fetch();
};
@@ -41,6 +47,7 @@ export class ProjectDetailComponent implements OnInit {
fetch() {
this.fetchProject();
this.fetchAddress();
+ this.fetchContacts();
};
fetchProject() {
@@ -53,4 +60,8 @@ export class ProjectDetailComponent implements OnInit {
this.address = this.addresses.models[0];
});
};
+
+ fetchContacts() {
+ this.contacts.fetch();
+ };
};
--
GitLab
From 55f7835ce9acec4ff5cc465a090dd74296d0d9c7 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:03:13 -0400
Subject: [PATCH 33/51] Add a contact method service.
---
front/current/services/project/contact-method.service.ts | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 front/current/services/project/contact-method.service.ts
diff --git a/front/current/services/project/contact-method.service.ts b/front/current/services/project/contact-method.service.ts
new file mode 100644
index 0000000..3e9b45d
--- /dev/null
+++ b/front/current/services/project/contact-method.service.ts
@@ -0,0 +1,8 @@
+import { Injectable } from 'angular2/core';
+import { config } from '../../config';
+
+@Injectable()
+export class ContactMethodService {
+ public config:any = config.SERVICES.project;
+ public url:string = '/contact/method/';
+};
--
GitLab
From e224823afcf26072af4d252416fe8579c65374dc Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:03:29 -0400
Subject: [PATCH 34/51] Register the contact method service.
---
front/current/components/app/app.component.ts | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/front/current/components/app/app.component.ts b/front/current/components/app/app.component.ts
index 4434792..5db938c 100644
--- a/front/current/components/app/app.component.ts
+++ b/front/current/components/app/app.component.ts
@@ -8,6 +8,7 @@ import { RestService } from '../../services/rest.service';
import { ProjectService } from '../../services/project/project.service';
import { AddressService } from '../../services/project/address.service';
import { ContactService } from '../../services/project/contact.service';
+import { ContactMethodService } from '../../services/project/contact-method.service';
import { DocumentSlotService } from '../../services/project/document-slot.service';
import { DocumentService } from '../../services/document/document.service';
@@ -22,7 +23,8 @@ import { ProjectDetailComponent } from '../project/detail.component'
providers: [
ROUTER_PROVIDERS,
RestService,
- ProjectService, AddressService, ContactService, DocumentSlotService,
+ ProjectService, AddressService, ContactService, ContactMethodService,
+ DocumentSlotService,
DocumentService
],
directives: [ROUTER_DIRECTIVES, NavComponent]
--
GitLab
From b0f5977ee278c8b37e0f88216aefe6e6cd13abe3 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:03:44 -0400
Subject: [PATCH 35/51] Fetch contact methods in the project detail component.
---
.../components/project/detail.component.ts | 20 +++++++------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/front/current/components/project/detail.component.ts b/front/current/components/project/detail.component.ts
index 6e67005..7d29d65 100644
--- a/front/current/components/project/detail.component.ts
+++ b/front/current/components/project/detail.component.ts
@@ -7,6 +7,7 @@ import { RestService, Model, Collection } from '../../services/rest.service';
import { ProjectService } from '../../services/project/project.service';
import { AddressService } from '../../services/project/address.service';
import { ContactService } from '../../services/project/contact.service';
+import { ContactMethodService } from '../../services/project/contact-method.service';
import { AddressComponent } from './address.component';
@@ -22,7 +23,8 @@ export class ProjectDetailComponent implements OnInit {
private _restService:RestService,
public projectService:ProjectService,
public addressService:AddressService,
- public contactService:ContactService
+ public contactService:ContactService,
+ public contactMethodService:ContactMethodService
) {};
project:Model;
@@ -31,6 +33,7 @@ export class ProjectDetailComponent implements OnInit {
address:Model;
contacts:Collection;
+ contact_methods:Collection;
ngOnInit() {
let project_id = this._routeParams.get('id');
@@ -40,28 +43,19 @@ export class ProjectDetailComponent implements OnInit {
.setFilters({'project_id': project_id}));
this.contacts = (this._restService.Collection(this.contactService, [])
.setFilters({'project_id': project_id}));
+ this.contact_methods = (this._restService.Collection(this.contactMethodService, [])
+ .setFilters({'project_id': project_id}));
this.fetch();
};
fetch() {
- this.fetchProject();
- this.fetchAddress();
- this.fetchContacts();
- };
-
- fetchProject() {
this.project.fetch();
- };
-
- fetchAddress() {
this.addresses.fetch(() => {
if (this.addresses.models.length)
this.address = this.addresses.models[0];
});
- };
-
- fetchContacts() {
this.contacts.fetch();
+ this.contact_methods.fetch();
};
};
--
GitLab
From 315813945be5d55ce0e263736bafe8121ba9fca8 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:08:29 -0400
Subject: [PATCH 36/51] Switch h3 to h4 in the project detail header.
---
front/current/assets/styles/components/_project.scss | 3 ++-
front/current/components/project/detail.component.html | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index e8b54f1..3240d00 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -11,5 +11,6 @@ project {
margin-left: 50px;
header { padding: 10px; }
- h3 { color: $gray-01; }
+ h1, h4 { margin-top: 10px; }
+ h4 { color: $gray-01; }
}
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index e1e0691..be783a3 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -20,7 +20,7 @@
{{ project.data['name'] }}
-
+
-
+
--
GitLab
From 6f10f617e150133e66b88a3cad6b575bf3c8c0d6 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:30:53 -0400
Subject: [PATCH 37/51] Add box-sizing:border-box.
---
front/current/assets/styles/components/_global.scss | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/front/current/assets/styles/components/_global.scss b/front/current/assets/styles/components/_global.scss
index f638658..945d2a4 100644
--- a/front/current/assets/styles/components/_global.scss
+++ b/front/current/assets/styles/components/_global.scss
@@ -9,6 +9,10 @@ $leading: $baseLineHeight * 1rem;
// I actually like this to be slightly smaller then the leading. Makes for tight headings.
$scale: 1.414;
+html, div, header, section {
+ box-sizing: border-box;
+}
+
/* Setup */
html {
/* Change default typefaces here */
--
GitLab
From dfbbbfedab78f844604d1cd1318bf645becfc884 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:43:15 -0400
Subject: [PATCH 38/51] Correctly style the project detail header.
---
.../assets/styles/components/_nav.scss | 1 -
.../assets/styles/components/_project.scss | 23 +++++++--
.../components/project/detail.component.html | 49 ++++++++++---------
3 files changed, 45 insertions(+), 28 deletions(-)
diff --git a/front/current/assets/styles/components/_nav.scss b/front/current/assets/styles/components/_nav.scss
index 4a17ae2..d4d220e 100644
--- a/front/current/assets/styles/components/_nav.scss
+++ b/front/current/assets/styles/components/_nav.scss
@@ -3,7 +3,6 @@ nav.vertical {
width: 50px;
height: 100%;
float: left;
- margin-right: 10px;
ul {
margin: 0;
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index 3240d00..9f2e733 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -7,10 +7,25 @@
project {
display: block;
- padding: 10px;
margin-left: 50px;
- header { padding: 10px; }
- h1, h4 { margin-top: 10px; }
- h4 { color: $gray-01; }
+ header {
+ position: relative;
+ border-bottom: 1px solid $light-gray;
+
+ .project-details, .project-contacts {
+ display: inline-block;
+ padding: 10px;
+ vertical-align: top;
+ }
+ .project-details {
+ width: 60%;
+ border-right: 1px solid $light-gray;
+ padding-bottom: 20px;
+
+ h1, h4 { margin-top: 10px; }
+ h4 { color: $gray-01; }
+ }
+ .project-contacts { width: 40%; }
+ }
}
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index be783a3..4a506bd 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -1,26 +1,29 @@
-
-
-
-
-
-
-
- {{ project.data['name'] }}
+
+
-
-
-
-
+
+
+
+
+
+ {{ project.data['name'] }}
+
+
+
+
+
+
+
--
GitLab
From 382d15ba3c1d1652b2696328fc2104fbb1ec800e Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:50:42 -0400
Subject: [PATCH 39/51] Use flexbox styling for the project detail header.
---
front/current/assets/styles/components/_project.scss | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index 9f2e733..7e58801 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -10,22 +10,18 @@ project {
margin-left: 50px;
header {
- position: relative;
+ display: flex;
border-bottom: 1px solid $light-gray;
- .project-details, .project-contacts {
- display: inline-block;
- padding: 10px;
- vertical-align: top;
- }
+ .project-details, .project-contacts { padding: 10px; }
.project-details {
- width: 60%;
+ flex-grow: 1;
border-right: 1px solid $light-gray;
padding-bottom: 20px;
h1, h4 { margin-top: 10px; }
h4 { color: $gray-01; }
}
- .project-contacts { width: 40%; }
+ .project-contacts { flex-basis: 300px; }
}
}
--
GitLab
From cdbefd6ae94a723a986adb80763580a3f108a331 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:54:48 -0400
Subject: [PATCH 40/51] Add a margin to the project name and address in the
project detail component.
---
front/current/assets/styles/components/_project.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index 7e58801..6008e1b 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -19,7 +19,7 @@ project {
border-right: 1px solid $light-gray;
padding-bottom: 20px;
- h1, h4 { margin-top: 10px; }
+ h1, h4 { margin-top: 10px; margin-left: 22px; }
h4 { color: $gray-01; }
}
.project-contacts { flex-basis: 300px; }
--
GitLab
From 2f614c9b32d1eb952702353a4bac7b09c27067b6 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 14:58:23 -0400
Subject: [PATCH 41/51] Improve header styling in the project detail header.
---
front/current/assets/styles/components/_project.scss | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index 6008e1b..789a424 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -12,6 +12,7 @@ project {
header {
display: flex;
border-bottom: 1px solid $light-gray;
+ min-height: 220px;
.project-details, .project-contacts { padding: 10px; }
.project-details {
@@ -19,8 +20,9 @@ project {
border-right: 1px solid $light-gray;
padding-bottom: 20px;
- h1, h4 { margin-top: 10px; margin-left: 22px; }
- h4 { color: $gray-01; }
+ h1, h4 { margin-left: 22px; }
+ h1 { margin-top: 20px; }
+ h4 { margin-top: 10px; color: $gray-01; }
}
.project-contacts { flex-basis: 300px; }
}
--
GitLab
From ab8823d9477198e2b96f104afbbbd015e15658fa Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 15:25:16 -0400
Subject: [PATCH 42/51] Add a contacts component.
---
.../components/project/contacts.component.html | 0
.../components/project/contacts.component.ts | 15 +++++++++++++++
2 files changed, 15 insertions(+)
create mode 100644 front/current/components/project/contacts.component.html
create mode 100644 front/current/components/project/contacts.component.ts
diff --git a/front/current/components/project/contacts.component.html b/front/current/components/project/contacts.component.html
new file mode 100644
index 0000000..e69de29
diff --git a/front/current/components/project/contacts.component.ts b/front/current/components/project/contacts.component.ts
new file mode 100644
index 0000000..9158f3b
--- /dev/null
+++ b/front/current/components/project/contacts.component.ts
@@ -0,0 +1,15 @@
+import { Component } from 'angular2/core';
+import { config } from '../../config';
+
+import { Collection } from '../../services/rest.service';
+
+
+@Component({
+ selector: 'contacts',
+ templateUrl: config.static_url + '/components/project/contacts.component.html',
+ inputs: ['contacts', 'contact_methods']
+})
+export class ContactsComponent {
+ contacts:Collection;
+ contact_methods:Collection;
+};
--
GitLab
From 4817a911de16ae9d513fa288c63412561704fa25 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 15:25:28 -0400
Subject: [PATCH 43/51] Use the contacts component in the project detail
component.
---
front/current/components/project/detail.component.html | 1 +
front/current/components/project/detail.component.ts | 7 +++----
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/front/current/components/project/detail.component.html b/front/current/components/project/detail.component.html
index 4a506bd..78dc2f9 100644
--- a/front/current/components/project/detail.component.html
+++ b/front/current/components/project/detail.component.html
@@ -25,5 +25,6 @@
+
diff --git a/front/current/components/project/detail.component.ts b/front/current/components/project/detail.component.ts
index 7d29d65..a18e00f 100644
--- a/front/current/components/project/detail.component.ts
+++ b/front/current/components/project/detail.component.ts
@@ -10,12 +10,13 @@ import { ContactService } from '../../services/project/contact.service';
import { ContactMethodService } from '../../services/project/contact-method.service';
import { AddressComponent } from './address.component';
+import { ContactsComponent } from './contacts.component';
@Component({
selector: 'project',
templateUrl: config.static_url + '/components/project/detail.component.html',
- directives: [ROUTER_DIRECTIVES, AddressComponent]
+ directives: [ROUTER_DIRECTIVES, AddressComponent, ContactsComponent]
})
export class ProjectDetailComponent implements OnInit {
constructor(
@@ -28,10 +29,8 @@ export class ProjectDetailComponent implements OnInit {
) {};
project:Model;
-
- private addresses:Collection;
+ addresses:Collection;
address:Model;
-
contacts:Collection;
contact_methods:Collection;
--
GitLab
From e48fa875ffe052343468f676cd31c123c6db022d Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 15:51:57 -0400
Subject: [PATCH 44/51] Improve h6 styling.
---
front/current/assets/styles/components/_global.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/front/current/assets/styles/components/_global.scss b/front/current/assets/styles/components/_global.scss
index 945d2a4..3e18655 100644
--- a/front/current/assets/styles/components/_global.scss
+++ b/front/current/assets/styles/components/_global.scss
@@ -65,7 +65,7 @@ h2 { font-size: 1.7em; }
h3 { font-size: 1.4em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.1em; }
-h6 { font-weight: bold; }
+h6 { font-size: 1em; font-weight: bold; }
a {
cursor: pointer; // Don't require an href to use the pointer.
--
GitLab
From 1db387f50408d1b9f23ffc5e5581337da92df050 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 15:57:01 -0400
Subject: [PATCH 45/51] Add a list of contacts to the project detail header.
---
front/current/assets/styles/components/_project.scss | 7 ++++++-
front/current/components/project/contacts.component.html | 5 +++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index 789a424..4f57d25 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -24,6 +24,11 @@ project {
h1 { margin-top: 20px; }
h4 { margin-top: 10px; color: $gray-01; }
}
- .project-contacts { flex-basis: 300px; }
+ .project-contacts {
+ flex-basis: 300px;
+
+ h5 { margin-bottom: 10px; }
+ h6 { margin-left: 10px; }
+ }
}
}
diff --git a/front/current/components/project/contacts.component.html b/front/current/components/project/contacts.component.html
index e69de29..b6817d1 100644
--- a/front/current/components/project/contacts.component.html
+++ b/front/current/components/project/contacts.component.html
@@ -0,0 +1,5 @@
+Contacts
+
+
+
{{ contact.data['name'] }}
+
--
GitLab
From 1cd477c0fbebd7c68af993451dba42852d428380 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 16:22:03 -0400
Subject: [PATCH 46/51] Add a contact method list component.
---
.../project/contact-methods.component.html | 0
.../components/project/contact-methods.component.ts | 13 +++++++++++++
2 files changed, 13 insertions(+)
create mode 100644 front/current/components/project/contact-methods.component.html
create mode 100644 front/current/components/project/contact-methods.component.ts
diff --git a/front/current/components/project/contact-methods.component.html b/front/current/components/project/contact-methods.component.html
new file mode 100644
index 0000000..e69de29
diff --git a/front/current/components/project/contact-methods.component.ts b/front/current/components/project/contact-methods.component.ts
new file mode 100644
index 0000000..3a7d280
--- /dev/null
+++ b/front/current/components/project/contact-methods.component.ts
@@ -0,0 +1,13 @@
+import { Component } from 'angular2/core';
+import { config } from '../../config';
+import { Collection } from '../../services/rest.service';
+
+
+@Component({
+ selector: 'contact-methods',
+ templateUrl: config.static_url + '/components/project/contact-methods.component.html',
+ inputs: ['contact_methods']
+})
+export class ContactMethodsComponent {
+ contact_methods:Collection;
+};
--
GitLab
From 94d14eb3089e90ac70d5a2f0154693a47ba4a47c Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Wed, 20 Apr 2016 16:22:14 -0400
Subject: [PATCH 47/51] Use the contact method list component in the project
detail header.
---
.../project/contacts.component.html | 4 +++
.../components/project/contacts.component.ts | 25 +++++++++++++++++--
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/front/current/components/project/contacts.component.html b/front/current/components/project/contacts.component.html
index b6817d1..cfe729e 100644
--- a/front/current/components/project/contacts.component.html
+++ b/front/current/components/project/contacts.component.html
@@ -2,4 +2,8 @@
{{ contact.data['name'] }}
+
+
diff --git a/front/current/components/project/contacts.component.ts b/front/current/components/project/contacts.component.ts
index 9158f3b..310131b 100644
--- a/front/current/components/project/contacts.component.ts
+++ b/front/current/components/project/contacts.component.ts
@@ -1,15 +1,36 @@
import { Component } from 'angular2/core';
import { config } from '../../config';
-import { Collection } from '../../services/rest.service';
+import { RestService, Model, Collection } from '../../services/rest.service';
+import { ContactMethodService } from '../../services/project/contact-method.service';
+import { ContactMethodsComponent } from './contact-methods.component'
@Component({
selector: 'contacts',
templateUrl: config.static_url + '/components/project/contacts.component.html',
- inputs: ['contacts', 'contact_methods']
+ inputs: ['contacts', 'contact_methods'],
+ directives: [ContactMethodsComponent]
})
export class ContactsComponent {
+ constructor(
+ private _restService:RestService,
+ private _contactMethodService:ContactMethodService
+ ) {};
+
contacts:Collection;
contact_methods:Collection;
+
+ getContactMethods(contact:Model):Collection {
+ let contact_methods = [];
+ let collection = this._restService.Collection(this._contactMethodService, []);
+
+ for (let contact_method of this.contact_methods.models) {
+ if (contact_method.data['contact_id'] == contact.data['id'])
+ contact_methods.push(contact_method);
+ }
+
+ collection.models = contact_methods;
+ return collection;
+ };
};
--
GitLab
From d5157105386b1cdbfd8e7036ee89e20e6a2c797d Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Thu, 21 Apr 2016 09:56:38 -0400
Subject: [PATCH 48/51] Add icons for contact methods.
---
front/current/assets/fontello/config.json | 28 ++++++++++++++++--
.../assets/fontello/css/blocpower-codes.css | 10 +++++--
.../fontello/css/blocpower-embedded.css | 22 ++++++++------
.../fontello/css/blocpower-ie7-codes.css | 10 +++++--
.../assets/fontello/css/blocpower-ie7.css | 10 +++++--
.../current/assets/fontello/css/blocpower.css | 24 ++++++++-------
.../assets/fontello/font/blocpower.eot | Bin 6504 -> 8004 bytes
.../assets/fontello/font/blocpower.svg | 12 ++++++--
.../assets/fontello/font/blocpower.ttf | Bin 6332 -> 7832 bytes
.../assets/fontello/font/blocpower.woff | Bin 3812 -> 4752 bytes
.../assets/fontello/font/blocpower.woff2 | Bin 3120 -> 4008 bytes
11 files changed, 84 insertions(+), 32 deletions(-)
diff --git a/front/current/assets/fontello/config.json b/front/current/assets/fontello/config.json
index 984a147..f560a3e 100644
--- a/front/current/assets/fontello/config.json
+++ b/front/current/assets/fontello/config.json
@@ -15,13 +15,13 @@
{
"uid": "f805bb95d40c7ef2bc51b3d50d4f2e5c",
"css": "list",
- "code": 59394,
+ "code": 59393,
"src": "fontawesome"
},
{
"uid": "2a6740fc2f9d0edea54205963f662594",
"css": "spinner",
- "code": 59393,
+ "code": 59394,
"src": "fontelico"
},
{
@@ -41,6 +41,30 @@
"css": "link-ext",
"code": 59397,
"src": "fontawesome"
+ },
+ {
+ "uid": "9f7e588c66cfd6891f6f507cf6f6596b",
+ "css": "handset",
+ "code": 59398,
+ "src": "fontawesome"
+ },
+ {
+ "uid": "0357f7abbc0babf43509669f332e41e6",
+ "css": "mobile",
+ "code": 59399,
+ "src": "fontawesome"
+ },
+ {
+ "uid": "ccc2329632396dc096bb638d4b46fb98",
+ "css": "envelope",
+ "code": 59400,
+ "src": "fontawesome"
+ },
+ {
+ "uid": "5cbe092278ff71fc27c920298b0f3ca3",
+ "css": "fax",
+ "code": 59401,
+ "src": "fontawesome"
}
]
}
\ No newline at end of file
diff --git a/front/current/assets/fontello/css/blocpower-codes.css b/front/current/assets/fontello/css/blocpower-codes.css
index ec93b70..c206aaf 100644
--- a/front/current/assets/fontello/css/blocpower-codes.css
+++ b/front/current/assets/fontello/css/blocpower-codes.css
@@ -1,7 +1,11 @@
.icon-gauge:before { content: '\e800'; } /* '' */
-.icon-spinner:before { content: '\e801'; } /* '' */
-.icon-list:before { content: '\e802'; } /* '' */
+.icon-list:before { content: '\e801'; } /* '' */
+.icon-spinner:before { content: '\e802'; } /* '' */
.icon-search:before { content: '\e803'; } /* '' */
.icon-left:before { content: '\e804'; } /* '' */
-.icon-link-ext:before { content: '\e805'; } /* '' */
\ No newline at end of file
+.icon-link-ext:before { content: '\e805'; } /* '' */
+.icon-handset:before { content: '\e806'; } /* '' */
+.icon-mobile:before { content: '\e807'; } /* '' */
+.icon-envelope:before { content: '\e808'; } /* '' */
+.icon-fax:before { content: '\e809'; } /* '' */
\ No newline at end of file
diff --git a/front/current/assets/fontello/css/blocpower-embedded.css b/front/current/assets/fontello/css/blocpower-embedded.css
index 6ecce1f..4794422 100644
--- a/front/current/assets/fontello/css/blocpower-embedded.css
+++ b/front/current/assets/fontello/css/blocpower-embedded.css
@@ -1,15 +1,15 @@
@font-face {
font-family: 'blocpower';
- src: url('../font/blocpower.eot?13592062');
- src: url('../font/blocpower.eot?13592062#iefix') format('embedded-opentype'),
- url('../font/blocpower.svg?13592062#blocpower') format('svg');
+ src: url('../font/blocpower.eot?54828926');
+ src: url('../font/blocpower.eot?54828926#iefix') format('embedded-opentype'),
+ url('../font/blocpower.svg?54828926#blocpower') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'blocpower';
- src: url('data:application/octet-stream;base64,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') format('woff'),
- url('data:application/octet-stream;base64,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BCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype');
+ src: url('data:application/octet-stream;base64,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') format('woff'),
+ url('data:application/octet-stream;base64,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RSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype');
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
@@ -17,7 +17,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'blocpower';
- src: url('../font/blocpower.svg?13592062#blocpower') format('svg');
+ src: url('../font/blocpower.svg?54828926#blocpower') format('svg');
}
}
*/
@@ -53,8 +53,12 @@
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.icon-gauge:before { content: '\e800'; } /* '' */
-.icon-spinner:before { content: '\e801'; } /* '' */
-.icon-list:before { content: '\e802'; } /* '' */
+.icon-list:before { content: '\e801'; } /* '' */
+.icon-spinner:before { content: '\e802'; } /* '' */
.icon-search:before { content: '\e803'; } /* '' */
.icon-left:before { content: '\e804'; } /* '' */
-.icon-link-ext:before { content: '\e805'; } /* '' */
\ No newline at end of file
+.icon-link-ext:before { content: '\e805'; } /* '' */
+.icon-handset:before { content: '\e806'; } /* '' */
+.icon-mobile:before { content: '\e807'; } /* '' */
+.icon-envelope:before { content: '\e808'; } /* '' */
+.icon-fax:before { content: '\e809'; } /* '' */
\ No newline at end of file
diff --git a/front/current/assets/fontello/css/blocpower-ie7-codes.css b/front/current/assets/fontello/css/blocpower-ie7-codes.css
index 0de9aef..1371cb1 100644
--- a/front/current/assets/fontello/css/blocpower-ie7-codes.css
+++ b/front/current/assets/fontello/css/blocpower-ie7-codes.css
@@ -1,7 +1,11 @@
.icon-gauge { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-list { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-list { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-search { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-link-ext { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
\ No newline at end of file
+.icon-link-ext { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-handset { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-mobile { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-envelope { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-fax { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
\ No newline at end of file
diff --git a/front/current/assets/fontello/css/blocpower-ie7.css b/front/current/assets/fontello/css/blocpower-ie7.css
index c904785..161ff92 100644
--- a/front/current/assets/fontello/css/blocpower-ie7.css
+++ b/front/current/assets/fontello/css/blocpower-ie7.css
@@ -11,8 +11,12 @@
}
.icon-gauge { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-list { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-list { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-search { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-left { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-link-ext { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
\ No newline at end of file
+.icon-link-ext { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-handset { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-mobile { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-envelope { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-fax { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
\ No newline at end of file
diff --git a/front/current/assets/fontello/css/blocpower.css b/front/current/assets/fontello/css/blocpower.css
index e763505..be81987 100644
--- a/front/current/assets/fontello/css/blocpower.css
+++ b/front/current/assets/fontello/css/blocpower.css
@@ -1,11 +1,11 @@
@font-face {
font-family: 'blocpower';
- src: url('../font/blocpower.eot?52702033');
- src: url('../font/blocpower.eot?52702033#iefix') format('embedded-opentype'),
- url('../font/blocpower.woff2?52702033') format('woff2'),
- url('../font/blocpower.woff?52702033') format('woff'),
- url('../font/blocpower.ttf?52702033') format('truetype'),
- url('../font/blocpower.svg?52702033#blocpower') format('svg');
+ src: url('../font/blocpower.eot?92066164');
+ src: url('../font/blocpower.eot?92066164#iefix') format('embedded-opentype'),
+ url('../font/blocpower.woff2?92066164') format('woff2'),
+ url('../font/blocpower.woff?92066164') format('woff'),
+ url('../font/blocpower.ttf?92066164') format('truetype'),
+ url('../font/blocpower.svg?92066164#blocpower') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -15,7 +15,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'blocpower';
- src: url('../font/blocpower.svg?52702033#blocpower') format('svg');
+ src: url('../font/blocpower.svg?92066164#blocpower') format('svg');
}
}
*/
@@ -56,8 +56,12 @@
}
.icon-gauge:before { content: '\e800'; } /* '' */
-.icon-spinner:before { content: '\e801'; } /* '' */
-.icon-list:before { content: '\e802'; } /* '' */
+.icon-list:before { content: '\e801'; } /* '' */
+.icon-spinner:before { content: '\e802'; } /* '' */
.icon-search:before { content: '\e803'; } /* '' */
.icon-left:before { content: '\e804'; } /* '' */
-.icon-link-ext:before { content: '\e805'; } /* '' */
\ No newline at end of file
+.icon-link-ext:before { content: '\e805'; } /* '' */
+.icon-handset:before { content: '\e806'; } /* '' */
+.icon-mobile:before { content: '\e807'; } /* '' */
+.icon-envelope:before { content: '\e808'; } /* '' */
+.icon-fax:before { content: '\e809'; } /* '' */
\ No newline at end of file
diff --git a/front/current/assets/fontello/font/blocpower.eot b/front/current/assets/fontello/font/blocpower.eot
index 2720f2231755d2b8d760200376260962117407a8..cb1ef8ba62713411ab528cdf8fce4da3721e8ceb 100644
GIT binary patch
delta 2021
zcmb7Fd2AF_82`Ta=AP}|on6Xyy4~&p-O90@oeh*?sX!OSs0d0$)2_HZq{m7Nln5+p
zi1&f35koW(HEKK(ZPc2oU^M=rf0$_e!F4jf3>u>1>lHzSh9ueQkXy7^FT5C69D!Az%|>)a|QK^?;1!xLiGLi-P2*|v#J2#
zJxKQOP+@rdp2H9IlY9(7FAV3V3Z!?FJVUcGJhpde{?n1G0Qg-1+9xCV+)e83hiFIV
z^<=k4NFjIgZ6rTJa&%;TdM0+QSv^gPIZ||tO>WQW&pE#!`D>Dc`B##|
z6S?vH=l%O%1aO4_*yn}Gsp&WO1`hyuekOadurpuyW=--f0MlK18ZX0v(hqnss-oO>y*6q^lamLUMj{0g!tbS>wSNWw&
z$`UOg0-5G>L<^yOj_4Ki!m|Wg=@ishl%Fs!$)*To7ep5JX^HWVN;ea%wM15^g3RX)8!5ZA@Fs
zt$57mRm4y-X2l~;Du|u&Sn;;jh*WI!_>Ioil+CRqM*Llv%6R+|S>kDrWs|``-V_hA
zP{iD+DV0;Qrpai^jxn`grRR7@sB)^gy}cRD=Jp<6Q{8n3-lb^dJVPUXrFy+*-mkf^
zRWwp!j9UH*FH>R*z%If?J?$#>n`0kv#;M~-9VZ;tQ-H0+z{Yec9$ncfh(;1AI+>!&
zcxnwaS*A0!8maGgriKd_I$5F)4OWN7*$jBuiv9Xw)W!uZA8riC*DhqC-bF0~Z-j&P
z;^HS(+7Sus%wb0LbZOArwhEUdxgE9egUY&?g?1F@LydQ5f=wZ83I*2gGfs3|+5B)@
zLiIXO^DBvbuQRYInp{ao$U&Li%*%WexF7);=!0uv81}%O@EAM`Z@@`-vFCX=2H}^2p+ZL6~MF=Cnu>H{RTnE?#6$Xedqm)|98QE^UtK)BJpl)^&F2`RxC@s
zw_-dSj^pO8iW#%a0PYD`o-Hn;h?Tsi^wseCH^YOPlC7aWTl4uVS2Ncw7ar36M!0g6
z?X#n2>Y=a!!qhfjZ=$lfYcs`E><^e|xVN}$i}}k3&A@e)
zQ*`|3Xw_&QmSzWBs~Ud
z)f&}S!Vo&~Rr+FE>~-GDUly9g(fW2eynF8N!N7*~Fh#y^&uSXyNu9p(90e3nLKziQ
zQ9~UaAP(nt4d;ci(Wz;9sxUe+k>6Qb*3cM|M{*N4P35Ph@yQ!U$MQ;kVt0OQvXJLP
MxtZB@4Q-C!0Kr;w761SM
delta 512
zcmXw#%WD%+6vn@E?>v$wkWx`b(2}$Tm1ZF&w3}8V2tF6;!deQgLpqtXWYSBMN?nML
zrHf*`3k6-c$WjG6=t2sLRB%yOrAYq(Aqy8>SdgNOC)1Y8xtf6v$%Z!(h-1)0B)87SABc)>j(35-XBVL8d+;IGJtf8^K4o9!QJae|@2Hw`hz1Pe$fY?&=^@eWs<@f?c&L`D^
zr+%Iri>2R*
zUHw@kGwJ=gSYYXo^0F=%-^1(HMGDEhLE#JA7JVG^e6BaKKAjoeK}xne0~=!_PY+b*
zGb0!5j=#5~f3d!bBJ%dUPAAILMJocLAl}C}wQ(C(oCr8Li8|NQ;g^h*{Wb}bWROV~
f*_43kyNkYO*VSyT<}Dc2S^l8yp2K18P=ESA!3cCl
diff --git a/front/current/assets/fontello/font/blocpower.svg b/front/current/assets/fontello/font/blocpower.svg
index 846c72d..ad79828 100644
--- a/front/current/assets/fontello/font/blocpower.svg
+++ b/front/current/assets/fontello/font/blocpower.svg
@@ -8,15 +8,23 @@
-
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/front/current/assets/fontello/font/blocpower.ttf b/front/current/assets/fontello/font/blocpower.ttf
index 6f3dcdc3e7ec7e83b6613475bb8f1f88aa3fb0b0..01a9b73af54b2978ea1c83b3d7cf58abecb39035 100644
GIT binary patch
delta 2033
zcmb7FYitx%6h7zPdGE6C&Msv;-EQ}R-SXPb&IU@cRHUnd3W8Em+qF&~(#J}RmME?-
zB4~_YHDHVeVvHIe2{vjCDj1DF{9~f=2Qe{9G})MF{9}|vc0IG;BN1OabIzQ{cW3Uo
z=eu{`UU9hVK)hV|2>`nR;M&3QVoAN~y9MMQCi#Bw_UV}PSxo>4+(Y@;P-%Glp@Rqd
z$Ug$$Dh(H>N)-2zKSNJtcx?C3@lQuK0q}hQ+9xA+@fP*Iz0Clg8z^s$P(beD+sS{N
z{KUxk^i1+PqjrV@^Au!RT%Xd6*n(
zMgwyOhO>Gz>iO&%md_eUCZTj5D7z)sO0&ZkO(>mKrf|4@QBYG9LFU-h9Q7>sDuNc0
zLLr&?lvv6@E}*AvVgm+5mn3V35p&DF2wNL;r#XAZyWA6vMFovFgch|QE@Z4|*cXU-
zyr#L*CAk@2tSvUYEaFpK@y56!DlV>LdE-Qzn~5Ba#Re)qmUKx$&1rzsh1wZ>g}qPf
z8G#m90X^Lp2Q-y)21qN^OKUEOvM@kBVq9cSj{!OL8YKz05JuVt5=t9#<_a^F30A&D}noZqx4p(AfhMOZX$?9`O%
zX<5@`G-UUf+NaWev^`oq-PG3Bgho?acd)Sz-GTcQjleUc@hdeDIQxMEVXH|~VT@XS
zj8~|zg>8xLTX}~UUi7eZof@o8jdK<7ikbZ7qlASEn?KqRORZbPqCJb7``?U3tc%K@m^pVm
z=3;Im;mXYp1X@?)(hRo}CVp7GG-;xhz~j+|{rN~^6dR-Ab$96}+OKYUtTn9$+^B_=
zwB6$gZ%$-Z(SCAMWw-JQ-wa+zLmqnJIv9pK;6XS9&%>K=5?=0p(T5Q@_Ts&}H(e&F
z%F*(Zw~ek{NmD<#zu33pB1sg4UeLo3)?s`hLL>~49gP?vCM#-08EEh_`Yw}XRT>B`
zV6snR=Qt1!^KHPnyWn>*QN(Qwk#_54^YaMvC+AO|c=z~Qug|^m(sR!~{nQh)k378h
z{ylf@ni}6>mj`d$zV(`oS6q5YS7)wcNv6eEsH+mtLM{?RnP65Yen`X&T5!|Ki?oma
zM2|et!`WV8%$X?yNlh5ii9%Kv{<9za9bf*x1O6L6pKFb$y0FE6G-;a20`=ZZ@(gV^r`TOq;%t2?
zte-fwJ=l}3Zt2`Yb1L_R4b**Gy_SA<&+juhbOEdS?FE8=0RJWZ#iK^}`s!)gezdh5
zIS$JT{od6LKZ1)_Cnprb}X@Hrsa|1#4S_yv@||>^XQnZ
V*b}$gW0NJD4;5$To^-dme+3D0c{2b2
delta 534
zcmXw!ziSjh6vyA2nccn1h2*dZSBP9rA%d|G4rAeAgn&jZM9?G%iOXeg?{xPv+-~Gj
z1b<*57LquHDJ(2vrxsbX3fLI1&`Lz|2M8$y8-*a6^}83GW!{_5_xok%&01~q#7gDP
z#z~#0ZdfPM0FTwLfVp}gnv01MSV}Nn^*LBC!-_9PxWu@xs?nSCNxZjcgt)K_xm$5l(Z-(4ds392P8DvBfq!
soFmJ37k$r(bgSL=Ix1*Iu^oACr`}Y7*NAgLt9|RZ*Nv0K1Bd(n0oh!7Z2$lO
diff --git a/front/current/assets/fontello/font/blocpower.woff b/front/current/assets/fontello/font/blocpower.woff
index 52c634881fa4ee5ce5dc3d17c9a6397467d54d1d..194edbf3ecd4474427e49eb22132969d1c5582d7 100644
GIT binary patch
delta 2656
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
diff --git a/front/current/assets/fontello/font/blocpower.woff2 b/front/current/assets/fontello/font/blocpower.woff2
index 4a2cde7d5c03fe7d5adec984b47835c92cd4ceab..fb2ebe0904e0c31bbc80e27ed9172821ebf0d737 100644
GIT binary patch
literal 4008
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
OwDv*nq6ac)2LJ#t_n2`2
literal 3120
zcmV-04A1j-Pew8T0RR9101Pky4*&oF02sUg01MXu0RR9100000000000000000000
z0000SLIzdiPvk?|-8~_RX
zy=4FOfo&{ptiMYoy^*b4d@SxF2<$6*D2ku+qaa|eaB3163f=Tl&r$j2*R08=eUAnI
z{O{-IK9?Tk13@y$M}7mu87L4+LS5Oq0b7#w#BxAac4heYw3nu%l1WG>CY{hhNH#Zv
z(r!NCt36P~5r6jy@4KIEJ2W!#kQIHg
z9G#8!KSyV-=}w75yU~%QMl2q?7ypxL0E*i
zN{@UV=1X!CAFV;2lEGWNNXcWNk#JVdh39U>YanPSdN`rf<6vbPsPpRcAZaXP^uj0|
zonfy|Rz-DI@S40%Hmyogdok}eWj{qrF>ZDcm#V3dmFsvO4WqowbIlPY4?NT(2HS*O*Hy&QpzQYB5*K
z&{G4HN>uTUDZ)+-iRvr%!K#xzwGeg9(V>4%iafshSh3R#y(w9MzTm
z@YLh&UVMA-z;4_sqcLX#Dq|icYQ5P}7O3?E#8{|RE~`$5Rwk_N#@cWlI163ZVwS_M
z&QNwPXyPz=sj)4kTF|8IG?AR6n=YjDrm2XY4H4n7myrGR3p8S?Qi~5GwHh=cr-4*a
z8kAA?yKXWqBY6#7xi++%Cs&(0$FS}uVXiz^04S>)f2n~VIFbIu+&?pGyL7EEC`dETZ12T1~2HERDd;3Z$
z45;=Z*yQ%>xq3>FCTeQm$}@YPy6{*rRvJ8G?SH&hl&)xbuVPn?x5zmjH%&l~%lI6V
zm_l*Nk4By$%6wM85RurXJ*yL8x#F3s^Mhzo#&%$N#v7VOdt==*lgvXrOFGLes*%;a
zT1`NQZ2Rl(t(|7MMe+T5g$ZfsXF^zBUGdBTRyea|bR-E^FS>D+);m2{%tw`~U33bk
zL7`fdU&y1gz4+7I&E7TM9MSA9g(4xkk33=x^28X-2zyE|H5V4%YRxcTvDLb{<}SVxDV@>WcCf3fUVp5{
zI_bQl*6I~ezBW3b+z^^tyg>VT8$ePhT%Uk8F^TA
zd{430?QP@CzAksEd}>QW#OuztmOGnSb;z$S+g7lAVLCmp!Pj!7W$NnLE(`BitAxcB
zrqABaHD-O-6=pRuwHkLNu;$M0wV`OUYa7_J*5d`6LuPV;rRk1rB;c4}3%PKCrwQ_r
zfH1*21#m&A35t+FY=VpuxFFR8Wk?`5!B#5Zf>IMyA%WTi8`QuBttO~L($?de)WmAI
zu&-&yjFIVj8cV`p2F%5>qFRvX^@!*V+{32;93>^&BMnH4*)R4Eu4D
zJM*n5&6eUdcF#3Cbm;ldk~CuoRVvgXbmXy`jyljOr|fHt=qAu+z+wo1l9J~7e4&n?
zmbAAL#Lnu6q9H6w{}D<#ZrW6{)q3RbAu;-f
zU61@v7oVMQ1bfg|gvxy6|E=jr15KbC`=-r?5M`|p2%~JKPAZcNB?l-Og=nk@eq87<
zRkgHmM+^hsnh`$nG;LL3b}HES{COVMm%b2IRTD7>?F^ZzYnTbz4bxFg6#)z@xew#5
zSAw||S}EbrUp#+KXcA{IO&o^9xnY>2?RN%8y{wYOF@=RO4_$~}Ml_gGT2;1HUR9d1
z^I<=<%kp%Z{A|U__cKXNwh*uR8L=er2U=RMa(BCkxGO8v-hSf7W_;
zZ6;y`x?m1xXfYPi~ox6{Xfdt2L$Zz*P*^HQjn(ZaZKreEHkZ?IOrN~1I=V;_Ji(CRc$d{8$(V)gmLyd;X%8VIu7~3;F
zEjmd7-jgm7j
z(w@#I@>}8TjoOBT^8yEwnGfOW;_?or&7zPLf}vt28He~qM~7#F>>^mjS8
zK$E-CY-{AKWrEV4&aDfoW9+5#1dt+j63NKQ$tx&QjK8mRIJ37o)L#5p+iJS(u0U3P
zTZNT
Date: Thu, 21 Apr 2016 09:57:10 -0400
Subject: [PATCH 49/51] Add logic to the contact method service.
---
.../project/contact-method.service.ts | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/front/current/services/project/contact-method.service.ts b/front/current/services/project/contact-method.service.ts
index 3e9b45d..be12ed1 100644
--- a/front/current/services/project/contact-method.service.ts
+++ b/front/current/services/project/contact-method.service.ts
@@ -1,8 +1,27 @@
import { Injectable } from 'angular2/core';
import { config } from '../../config';
+import { Model } from '../rest.service';
@Injectable()
export class ContactMethodService {
public config:any = config.SERVICES.project;
public url:string = '/contact/method/';
+
+ getLinker(contact_method:Model) {
+ return {
+ 'email': 'mailto',
+ 'phone': 'tel',
+ 'sms': 'sms',
+ 'fax': 'fax'
+ }[contact_method.data['method']]
+ };
+
+ getIcon(contact_method:Model) {
+ return {
+ 'email': 'envelope',
+ 'phone': 'handset',
+ 'sms': 'mobile',
+ 'fax': 'fax'
+ }[contact_method.data['method']]
+ };
};
--
GitLab
From ffc54e2692dfea40bdc998088dc5729d4f489b50 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Thu, 21 Apr 2016 09:57:26 -0400
Subject: [PATCH 50/51] Add contact-method styling.
---
front/current/assets/styles/components/_project.scss | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/front/current/assets/styles/components/_project.scss b/front/current/assets/styles/components/_project.scss
index 4f57d25..e41e1d7 100644
--- a/front/current/assets/styles/components/_project.scss
+++ b/front/current/assets/styles/components/_project.scss
@@ -29,6 +29,14 @@ project {
h5 { margin-bottom: 10px; }
h6 { margin-left: 10px; }
+
+ contact-methods {
+ display: block;
+ margin: 10px;
+ margin-right: 0;
+
+ .contact-method { margin-left: 10px; }
+ }
}
}
}
--
GitLab
From b37b7f2ad20ff07768cfd5835485a762ed7a8bc1 Mon Sep 17 00:00:00 2001
From: astex <0astex@gmail.com>
Date: Thu, 21 Apr 2016 09:57:56 -0400
Subject: [PATCH 51/51] Add in content for contact methods.
---
.../components/project/contact-methods.component.html | 10 ++++++++++
.../components/project/contact-methods.component.ts | 5 +++++
.../current/components/project/contacts.component.html | 6 +++++-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/front/current/components/project/contact-methods.component.html b/front/current/components/project/contact-methods.component.html
index e69de29..b1072a7 100644
--- a/front/current/components/project/contact-methods.component.html
+++ b/front/current/components/project/contact-methods.component.html
@@ -0,0 +1,10 @@
+
diff --git a/front/current/components/project/contact-methods.component.ts b/front/current/components/project/contact-methods.component.ts
index 3a7d280..8e70d29 100644
--- a/front/current/components/project/contact-methods.component.ts
+++ b/front/current/components/project/contact-methods.component.ts
@@ -1,6 +1,7 @@
import { Component } from 'angular2/core';
import { config } from '../../config';
import { Collection } from '../../services/rest.service';
+import { ContactMethodService } from '../../services/project/contact-method.service';
@Component({
@@ -9,5 +10,9 @@ import { Collection } from '../../services/rest.service';
inputs: ['contact_methods']
})
export class ContactMethodsComponent {
+ constructor(
+ public contactMethodService:ContactMethodService
+ ) {};
+
contact_methods:Collection;
};
diff --git a/front/current/components/project/contacts.component.html b/front/current/components/project/contacts.component.html
index cfe729e..5954e02 100644
--- a/front/current/components/project/contacts.component.html
+++ b/front/current/components/project/contacts.component.html
@@ -1,9 +1,13 @@
Contacts
+
+
+
+
{{ contact.data['name'] }}
--
GitLab