Skip to content

Commit 50ae00e

Browse files
committed
Add description to event
1 parent 5b16cf5 commit 50ae00e

File tree

3 files changed

+71
-14
lines changed

3 files changed

+71
-14
lines changed

api/models/event.js

+8
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ module.exports = function() {
1616
required: true
1717
},
1818
/**
19+
* Nome do evento.
20+
* @type {String}
21+
*/
22+
description: {
23+
type: String,
24+
required: false
25+
},
26+
/**
1927
* Data e hora que o evento irá começar.
2028
* @type {Date}
2129
*/

app/src/js/controllers/app.event.js

+20-12
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
.controller( 'listEventController', listEventController )
88
.controller( 'appendSpeakerIntoEventController', appendSpeakerIntoEventController );
99

10-
function formEventController( $log, $scope, $routeParams, $q, DataResource, uiAlert ) {
11-
const
10+
function formEventController( $log, $scope, $routeParams, wizMarkdownSvc, $q, DataResource, uiAlert ) {
11+
const
1212
vm = this,
1313
{ _id } = $routeParams,
1414
eventResource = new DataResource( '/events', '/:_id' ),
1515
eventTypeResource = new DataResource( 'eventTypes' ),
1616
placeResource = new DataResource( '/places' );
1717

1818
// ===# Bootstraping data #=== //
19-
19+
2020
vm.places = placeResource.query();
2121
vm.eventTypeList = eventTypeResource.query();
2222

@@ -28,19 +28,21 @@
2828
.then( event => vm.event = event )
2929
.catch( error => vm.alertEmitter.danger( error.data.message ) );
3030
}
31-
31+
3232

3333
// ===# View model #=== //
3434
vm.place = {};
3535
vm.alert = {};
3636
vm.alertEmitter = uiAlert( vm.alert );
3737
vm.submitForm = submitForm;
38+
vm.previewMode = false;
39+
vm.previewNews = previewNews;
3840

3941
// ===# Setup #=== //
4042

4143
function submitForm( event ) {
4244
if ( $scope.eventForm.$invalid ) return;
43-
45+
4446
$q
4547
.resolve( event )
4648
.then( parseDataToMs )
@@ -69,7 +71,7 @@
6971
}
7072

7173
function parseDataToMs( event ) {
72-
const
74+
const
7375
startHour = getFullHours( event.startHour ).getTime(),
7476
startDate = getFullDate( event.startDate ).getTime(),
7577
endHour = getFullHours( event.endHour ).getTime(),
@@ -89,6 +91,12 @@
8991
return event;
9092
}
9193

94+
function previewNews( message ) {
95+
console.log(message)
96+
vm.previewMode = !vm.previewMode;
97+
vm.event.preview = wizMarkdownSvc.Transform( message );
98+
}
99+
92100
function getFullHours( stringDate ) {
93101
if ( typeof stringDate !== 'string' ) {
94102
stringDate = Date.prototype.toISOString.call( stringDate );
@@ -104,7 +112,7 @@
104112
if ( typeof stringDate !== 'string' ) {
105113
stringDate = Date.prototype.toISOString.call( stringDate );
106114
}
107-
const
115+
const
108116
regexp = /\d{4}-\d{2}-\d{2}/,
109117
dateExp = stringDate.match( regexp )[ 0 ];
110118

@@ -116,7 +124,7 @@
116124
const
117125
vm = this,
118126
eventResource = new DataResource( '/events' );
119-
127+
120128
// ===# Bootstraping data #=== //
121129
eventResource
122130
.query()
@@ -152,7 +160,7 @@
152160
}
153161

154162
function appendSpeakerIntoEventController( $log, $scope, $routeParams, $q, uiAlert, DataResource) {
155-
const
163+
const
156164
vm = this,
157165
eventResource = new DataResource( '/events', '/:_id' ),
158166
{ _id } = $routeParams;
@@ -181,13 +189,13 @@
181189
const mapSpeakersId = speakers => speakers.map( speaker => speaker._id );
182190

183191
function speakersQuery( event ) {
184-
const
192+
const
185193
{ speakers } = event,
186194
speakersId = mapSpeakersId( speakers ),
187195
speakerResource = new DataResource( '/speakers', '/:_id' );
188196

189197
const filterSpeakersAlreadyAdded = speakers => speakers.filter( speaker => speakersId.indexOf( speaker._id ) < 0 );
190-
198+
191199
speakerResource
192200
.query()
193201
.$promise
@@ -222,4 +230,4 @@
222230
vm.speaker = speaker;
223231
}
224232
}
225-
})( angular );
233+
})( angular );

app/src/partials/event/event-form.html

+43-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
<div class="form-group">
114114
<label for="place">Local</label>
115115
<select
116-
name="place" class="form-control" id="place"
116+
name="place" class="form-control" id="place"
117117
ng-options="place as place.name for place in vm.places track by place._id"
118118
ng-model="vm.event.place" ng-required="true">
119119
<option value="">Selecione o local do evento</option>
@@ -125,6 +125,47 @@
125125
</div>
126126
</div>
127127

128+
<div class="row mb-1">
129+
<div class="col-12 col-sm-12 col-md-10 col-lg-3 ml-auto mr-auto ml-lg-auto mr-lg-0">
130+
<button class="btn btn-sm btn-primary btn-block" type="button" ng-click="vm.previewNews( vm.event.description )"><i class="fa fa-search"></i> Visualizar</button>
131+
</div>
132+
<div class="col-lg-3"></div>
133+
</div>
134+
135+
<div class="row">
136+
<div class="col-12 col-sm-12 col-md-10 col-lg-8 ml-auto mr-auto">
137+
<!-- preview markdown content -->
138+
<div class="markdown-preview mt-4" ng-bind-html="vm.event.preview" ng-show="vm.previewMode"></div>
139+
<div class="form-group">
140+
<!-- markdown editor -->
141+
<wiz-markdown-editor textareaclass="form-control mt-1" rows="10" content="vm.event.description" ng-show="!vm.previewMode">
142+
<div class="btn-group" role="group" aria-label="Basic example">
143+
<wiz-toolbar-button buttonclass="btn btn-sm btn-light" command="bold" title="negrito"><i class="fa fa-bold"></i></wiz-toolbar-button>
144+
<wiz-toolbar-button buttonclass="btn btn-sm btn-light" command="italic" title="italico"><i class="fa fa-italic"></i></wiz-toolbar-button>
145+
<div class="btn-group" role="group">
146+
<button id="hgroup" type="button" class="btn btn-light dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="titulos">
147+
<i class="fa fa-header"></i>
148+
</button>
149+
<div class="dropdown-menu" aria-labelledby="hgroup">
150+
<wiz-toolbar-button buttonclass="dropdown-item" command="h1">H1</wiz-toolbar-button>
151+
<wiz-toolbar-button buttonclass="dropdown-item" command="h2">H2</wiz-toolbar-button>
152+
<wiz-toolbar-button buttonclass="dropdown-item" command="h3">H3</wiz-toolbar-button>
153+
<wiz-toolbar-button buttonclass="dropdown-item" command="h4">H4</wiz-toolbar-button>
154+
<wiz-toolbar-button buttonclass="dropdown-item" command="h5">H5</wiz-toolbar-button>
155+
<wiz-toolbar-button buttonclass="dropdown-item" command="h6">H6</wiz-toolbar-button>
156+
</div>
157+
</div>
158+
<wiz-toolbar-button buttonclass="btn btn-sm btn-light" command="ullist" title="lista não númerada"><i class="fa fa-list-ul"></i></wiz-toolbar-button>
159+
<wiz-toolbar-button buttonclass="btn btn-sm btn-light" command="ollist" title="lista númerada"><i class="fa fa-list-ol"></i></wiz-toolbar-button>
160+
<wiz-toolbar-button buttonclass="btn btn-sm btn-light" command="code" title="código"><i class="fa fa-code"></i></wiz-toolbar-button>
161+
<wiz-toolbar-button buttonclass="btn btn-sm btn-light" command="img" title="imagem"><i class="fa fa-picture-o"></i></wiz-toolbar-button>
162+
<wiz-toolbar-button buttonclass="btn btn-sm btn-light" command="link" title="link"><i class="fa fa-link"></i></wiz-toolbar-button>
163+
</div>
164+
</wiz-markdown-editor>
165+
</div>
166+
</div>
167+
</div>
168+
128169
<div class="row mt-3">
129170
<div class="col-12 col-sm-12 col-md-6 col-lg-6 mr-auto ml-auto">
130171
<button type="submit" class="btn btn-primary btn-block">Finalizar</button>
@@ -137,4 +178,4 @@
137178
</div>
138179
</div>
139180
</form>
140-
</div>
181+
</div>

0 commit comments

Comments
 (0)