@chat21/chat21-ionic 3.0.94 → 3.0.95
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/.github/workflows/docker-community-push-latest.yml +1 -1
- package/.github/workflows/docker-image-tag-community-tag-push.yml +1 -1
- package/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +2 -2
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +1 -1
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +12 -2
- package/src/app/chatlib/conversation-detail/message/text/text.component.scss +1 -1
- package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.html +1 -2
- package/src/chat21-core/providers/firebase/firebase-archivedconversations-handler.ts +2 -13
- package/src/chat21-core/providers/firebase/firebase-auth-service.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +1 -11
- package/src/chat21-core/providers/firebase/firebase-presence.service.ts +0 -3
- package/src/chat21-core/providers/mqtt/mqtt-archivedconversations-handler.ts +1 -34
- package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +0 -6
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +0 -1
- package/src/chat21-core/providers/mqtt/mqtt-conversations-handler.ts +2 -12
- package/src/chat21-core/providers/mqtt/mqtt-presence.service.ts +0 -3
- package/src/chat21-core/providers/mqtt/mqtt-typing.service.ts +0 -2
- package/src/chat21-core/providers/native/native-upload-service.ts +1 -0
- package/src/chat21-core/utils/utils.ts +97 -97
|
@@ -13,7 +13,7 @@ jobs:
|
|
|
13
13
|
- name: Check out the repo
|
|
14
14
|
uses: actions/checkout@v2
|
|
15
15
|
- name: Push to Docker Hub
|
|
16
|
-
uses: docker/build-push-action@
|
|
16
|
+
uses: docker/build-push-action@v2
|
|
17
17
|
with:
|
|
18
18
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
19
19
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# chat21-ionic ver 3.0
|
|
2
2
|
|
|
3
|
+
### 3.0.95 in PROD
|
|
4
|
+
- bug-fixed: cannot upload PDF files
|
|
5
|
+
|
|
6
|
+
### 3.0.95-rc.1
|
|
7
|
+
- added: custom colors to senderFullname to better distinguish the user
|
|
8
|
+
- bug-fixed: cannot read text.trim() of undefined if no text is sent with an image
|
|
9
|
+
- bug-fixed: markdown not split work correctly
|
|
10
|
+
|
|
3
11
|
### 3.0.94 in PROD
|
|
4
12
|
- bug-fixed: error getting projectId during lead detail for conversations with more than 4 segment
|
|
5
13
|
|
package/package.json
CHANGED
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
<!--backgroundColor non viene ancora usato -->
|
|
122
122
|
<chat-bubble-message class="messages msg_sent" id="message_msg_sent" style="position: relative;"
|
|
123
123
|
[ngClass]="{'has-metadata': (isImage(message) || isFrame(message)), 'privateMsg': (message?.attributes && message?.attributes?.subtype === 'private')}"
|
|
124
|
-
[class.no-background]="(isImage(message) || isFrame(message)) && message?.text.trim() === '' "
|
|
124
|
+
[class.no-background]="(isImage(message) || isFrame(message)) && message?.text && message?.text.trim() === '' "
|
|
125
125
|
[class.emoticon]="isEmojii(message?.text)"
|
|
126
126
|
[ngStyle]="{'background': stylesMap.get('bubbleSentBackground'), 'color': stylesMap.get('bubbleSentTextColor')}"
|
|
127
127
|
[ngClass]="{'button-in-msg' : message.metadata && message.metadata.button}"
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
<!--backgroundColor non viene ancora usato -->
|
|
169
169
|
<chat-bubble-message class="messages msg_receive" id="message_msg_receive"
|
|
170
170
|
[ngClass]="{'has-metadata': (isImage(message) || isFrame(message)), 'privateMsg': (message?.attributes && message?.attributes?.subtype === 'private')}"
|
|
171
|
-
[class.no-background]="(isImage(message) || isFrame(message)) && message?.text.trim() === '' "
|
|
171
|
+
[class.no-background]="(isImage(message) || isFrame(message)) && message?.text && message?.text.trim() === '' "
|
|
172
172
|
[class.emoticon]="isEmojii(message?.text)"
|
|
173
173
|
[ngStyle]="{'background': stylesMap?.get('bubbleReceivedBackground'), 'color': stylesMap.get('bubbleReceivedTextColor')}"
|
|
174
174
|
[isSameSender]="isSameSender(message?.sender, i)"
|
package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<div>
|
|
19
19
|
|
|
20
20
|
<div *ngIf="messageType(MESSAGE_TYPE_OTHERS, message) && !isSameSender"
|
|
21
|
-
[style.color]="
|
|
21
|
+
[style.color]="fullnameColor"
|
|
22
22
|
[ngStyle]="{'padding': (isImage(message) || isFrame(message))? '10px 16px 8px 16px': '10px 8px 0px 8px'}" class="message_sender_fullname">
|
|
23
23
|
{{message?.sender_fullname}}
|
|
24
24
|
</div>
|
package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts
CHANGED
|
@@ -10,7 +10,8 @@ import { TiledeskAuthService } from 'src/chat21-core/providers/tiledesk/tiledesk
|
|
|
10
10
|
import * as moment from 'moment';
|
|
11
11
|
import { ModalController, PopoverController } from '@ionic/angular';
|
|
12
12
|
import { convertColorToRGBA } from 'src/chat21-core/utils/utils';
|
|
13
|
-
import {
|
|
13
|
+
import { getColorBck } from 'src/chat21-core/utils/utils-user';
|
|
14
|
+
|
|
14
15
|
@Component({
|
|
15
16
|
selector: 'chat-bubble-message',
|
|
16
17
|
templateUrl: './bubble-message.component.html',
|
|
@@ -53,7 +54,7 @@ export class BubbleMessageComponent implements OnInit, OnChanges {
|
|
|
53
54
|
'hide-delay': 200
|
|
54
55
|
};
|
|
55
56
|
sizeImage : { width: number, height: number}
|
|
56
|
-
|
|
57
|
+
fullnameColor: string;
|
|
57
58
|
public logger: LoggerService = LoggerInstance.getInstance()
|
|
58
59
|
|
|
59
60
|
constructor(
|
|
@@ -98,6 +99,14 @@ export class BubbleMessageComponent implements OnInit, OnChanges {
|
|
|
98
99
|
if (this.message && this.message.metadata && typeof this.message.metadata === 'object') {
|
|
99
100
|
this.sizeImage = this.getMetadataSize(this.message.metadata)
|
|
100
101
|
}
|
|
102
|
+
|
|
103
|
+
if(this.fontColor){
|
|
104
|
+
this.fullnameColor = convertColorToRGBA(this.fontColor, 65)
|
|
105
|
+
}
|
|
106
|
+
if(this.message && this.message.sender_fullname && this.message.sender_fullname.trim() !== ''){
|
|
107
|
+
this.fullnameColor = getColorBck(this.message.sender_fullname)
|
|
108
|
+
console.log('colorrrrrr', this.fullnameColor)
|
|
109
|
+
}
|
|
101
110
|
}
|
|
102
111
|
|
|
103
112
|
|
|
@@ -257,3 +266,4 @@ export class BubbleMessageComponent implements OnInit, OnChanges {
|
|
|
257
266
|
|
|
258
267
|
|
|
259
268
|
}
|
|
269
|
+
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
11
11
|
<div class="c21-right-conv">
|
|
12
|
-
<div class="c21-last-time">{{conversation
|
|
12
|
+
<div class="c21-last-time">{{conversation?.timestamp | amTimeAgo}}</div>
|
|
13
13
|
<div class="truncate c21-name">{{conversation.sender_fullname }}</div>
|
|
14
14
|
<div *ngIf="conversation.type ==='image'">
|
|
15
15
|
<div [class.not-read]="conversation.is_new" class="c21-msg" style="float: left; margin-right: 5px;">
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
width="20px" height="20px" viewBox="0 0 24 24">
|
|
18
18
|
<path d="M0 0h24v24H0V0z" fill="none"/>
|
|
19
19
|
<path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86l-3 3.87L9 13.14 6 17h12l-3.86-5.14z"/>
|
|
20
|
-
<!-- <title id="altIconTitle">{{ translationMap.get('CLOSED') }}</title> -->
|
|
21
20
|
</svg>
|
|
22
21
|
</div>
|
|
23
22
|
<div [class.not-read]="conversation.is_new" class="truncate c21-msg">{{conversation.last_message_text}}</div>
|
|
@@ -14,7 +14,7 @@ import { ConversationModel } from '../../models/conversation';
|
|
|
14
14
|
|
|
15
15
|
// utils
|
|
16
16
|
import { avatarPlaceholder, getColorBck } from '../../utils/utils-user';
|
|
17
|
-
import { compareValues,
|
|
17
|
+
import { compareValues, searchIndexInArrayForUid, archivedConversationsPathForUserId, isGroup, getTimeLastMessage } from '../../utils/utils';
|
|
18
18
|
import { ArchivedConversationsHandlerService } from '../abstract/archivedconversations-handler.service';
|
|
19
19
|
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
20
20
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
@@ -396,7 +396,7 @@ export class FirebaseArchivedConversationsHandler extends ArchivedConversationsH
|
|
|
396
396
|
conv.conversation_with = conversation_with;
|
|
397
397
|
conv.conversation_with_fullname = conversation_with_fullname;
|
|
398
398
|
conv.status = this.setStatusConversation(conv.sender, conv.uid);
|
|
399
|
-
|
|
399
|
+
conv.time_last_message = getTimeLastMessage(conv.timestamp); // evaluate if is used
|
|
400
400
|
conv.avatar = avatarPlaceholder(conversation_with_fullname);
|
|
401
401
|
conv.color = getColorBck(conversation_with_fullname);
|
|
402
402
|
conv.archived = true;
|
|
@@ -415,17 +415,6 @@ export class FirebaseArchivedConversationsHandler extends ArchivedConversationsH
|
|
|
415
415
|
return status;
|
|
416
416
|
}
|
|
417
417
|
|
|
418
|
-
/**
|
|
419
|
-
* calcolo il tempo trascorso da ora al timestamp passato
|
|
420
|
-
* @param timestamp
|
|
421
|
-
*/
|
|
422
|
-
private getTimeLastMessage(timestamp: string) {
|
|
423
|
-
const timestampNumber = parseInt(timestamp, 10) / 1000;
|
|
424
|
-
const time = getFromNow(timestampNumber);
|
|
425
|
-
return time;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
|
|
429
418
|
/**
|
|
430
419
|
* check if the conversations is valid or not
|
|
431
420
|
*/
|
|
@@ -74,7 +74,7 @@ export class FirebaseAuthService extends MessagingAuthService {
|
|
|
74
74
|
this.URL_TILEDESK_CREATE_CUSTOM_TOKEN = this.SERVER_BASE_URL + 'chat21/firebase/auth/createCustomToken';
|
|
75
75
|
this.logger.log('[FIREBASEAuthSERVICE] - initialize URL_TILEDESK_CREATE_CUSTOM_TOKEN ', this.URL_TILEDESK_CREATE_CUSTOM_TOKEN)
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
|
|
78
78
|
let firebasePersistence;
|
|
79
79
|
// console.log('FB-AUTH firebasePersistence', this.getPersistence())
|
|
80
80
|
switch (this.getPersistence()) {
|
|
@@ -21,7 +21,7 @@ import { AppConfigProvider } from 'src/app/services/app-config';
|
|
|
21
21
|
|
|
22
22
|
// utils
|
|
23
23
|
import { avatarPlaceholder, getColorBck } from '../../utils/utils-user';
|
|
24
|
-
import { compareValues,
|
|
24
|
+
import { compareValues, conversationsPathForUserId, searchIndexInArrayForUid, isGroup } from '../../utils/utils';
|
|
25
25
|
import { TOUCHING_OPERATOR } from '../../utils/constants';
|
|
26
26
|
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
|
27
27
|
|
|
@@ -650,16 +650,6 @@ export class FirebaseConversationsHandler extends ConversationsHandlerService {
|
|
|
650
650
|
return status;
|
|
651
651
|
}
|
|
652
652
|
|
|
653
|
-
/**
|
|
654
|
-
* calcolo il tempo trascorso da ora al timestamp passato
|
|
655
|
-
* @param timestamp
|
|
656
|
-
*/
|
|
657
|
-
private getTimeLastMessage(timestamp: string) {
|
|
658
|
-
const timestampNumber = parseInt(timestamp, 10) / 1000;
|
|
659
|
-
const time = getFromNow(timestampNumber);
|
|
660
|
-
return time;
|
|
661
|
-
}
|
|
662
|
-
|
|
663
653
|
/**
|
|
664
654
|
* check if the conversations is valid or not
|
|
665
655
|
*/
|
|
@@ -14,9 +14,6 @@ import { PresenceService } from '../abstract/presence.service';
|
|
|
14
14
|
import { CustomLogger } from '../logger/customLogger';
|
|
15
15
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
16
16
|
|
|
17
|
-
// utils
|
|
18
|
-
// import { setLastDate } from '../../utils/utils';
|
|
19
|
-
// import { environment } from '../../../environments/environment';
|
|
20
17
|
|
|
21
18
|
// @Injectable({providedIn: 'root'})
|
|
22
19
|
@Injectable()
|
|
@@ -13,7 +13,7 @@ import { ConversationsHandlerService } from '../abstract/conversations-handler.s
|
|
|
13
13
|
// utils
|
|
14
14
|
import { TYPE_GROUP } from '../../utils/constants';
|
|
15
15
|
import { getImageUrlThumbFromFirebasestorage, avatarPlaceholder, getColorBck } from '../../utils/utils-user';
|
|
16
|
-
import { compareValues,
|
|
16
|
+
import { compareValues, conversationsPathForUserId, searchIndexInArrayForUid } from '../../utils/utils';
|
|
17
17
|
import { ArchivedConversationsHandlerService } from '../abstract/archivedconversations-handler.service';
|
|
18
18
|
import { LoggerService } from '../abstract/logger.service';
|
|
19
19
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
@@ -370,39 +370,6 @@ export class MQTTArchivedConversationsHandler extends ArchivedConversationsHandl
|
|
|
370
370
|
return status;
|
|
371
371
|
}
|
|
372
372
|
|
|
373
|
-
/**
|
|
374
|
-
* calcolo il tempo trascorso da ora al timestamp passato
|
|
375
|
-
* @param timestamp
|
|
376
|
-
*/
|
|
377
|
-
private getTimeLastMessage(timestamp: string) {
|
|
378
|
-
const timestampNumber = parseInt(timestamp) / 1000;
|
|
379
|
-
const time = getFromNow(timestampNumber);
|
|
380
|
-
return time;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
// removeByUid(uid) {
|
|
384
|
-
// const index = searchIndexInArrayForUid(this.conversations, uid);
|
|
385
|
-
// if (index > -1) {
|
|
386
|
-
// this.conversations.splice(index, 1);
|
|
387
|
-
// // this.events.publish('conversationsChanged', this.conversations);
|
|
388
|
-
// this.conversationsChanged.next(this.conversations);
|
|
389
|
-
// }
|
|
390
|
-
// }
|
|
391
|
-
|
|
392
|
-
// addConversationListener(uidUser, conversationId) {
|
|
393
|
-
// var that = this;
|
|
394
|
-
// this.tenant = environment.tenant;
|
|
395
|
-
// // const tenant = this.chatManager.getTenant();
|
|
396
|
-
// const url = '/apps/' + this.tenant + '/users/' + uidUser + '/conversations/' + conversationId;
|
|
397
|
-
// const reference = firebase.database().ref(url);
|
|
398
|
-
// console.log("ChatConversationsHandler::addConversationListener::reference:",url, reference.toString());
|
|
399
|
-
// reference.on('value', function (snapshot) {
|
|
400
|
-
// setTimeout(function () {
|
|
401
|
-
// // that.events.publish(conversationId + '-listener', snapshot);
|
|
402
|
-
// }, 100);
|
|
403
|
-
// });
|
|
404
|
-
// }
|
|
405
|
-
|
|
406
373
|
/**
|
|
407
374
|
* restituisce il numero di conversazioni nuove
|
|
408
375
|
*/
|
|
@@ -6,12 +6,6 @@ import { environment } from '../../../environments/environment';
|
|
|
6
6
|
import { LoggerService } from '../abstract/logger.service';
|
|
7
7
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
8
8
|
|
|
9
|
-
// // firebase
|
|
10
|
-
// import * as firebase from 'firebase/app';
|
|
11
|
-
// import 'firebase/messaging';
|
|
12
|
-
// import 'firebase/database';
|
|
13
|
-
// import 'firebase/auth';
|
|
14
|
-
|
|
15
9
|
// services
|
|
16
10
|
// import { EventsService } from '../events-service';
|
|
17
11
|
import { MessagingAuthService } from '../abstract/messagingAuth.service';
|
|
@@ -13,7 +13,7 @@ import { ConversationsHandlerService } from '../abstract/conversations-handler.s
|
|
|
13
13
|
|
|
14
14
|
// utils
|
|
15
15
|
import { getImageUrlThumbFromFirebasestorage, avatarPlaceholder, getColorBck } from '../../utils/utils-user';
|
|
16
|
-
import { compareValues,
|
|
16
|
+
import { compareValues, conversationsPathForUserId, searchIndexInArrayForUid } from '../../utils/utils';
|
|
17
17
|
import { LoggerService } from '../abstract/logger.service';
|
|
18
18
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
19
19
|
import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';
|
|
@@ -383,7 +383,7 @@ export class MQTTConversationsHandler extends ConversationsHandlerService {
|
|
|
383
383
|
conv.conversation_with_fullname = conversation_with_fullname;
|
|
384
384
|
conv.conversation_with = conversation_with;
|
|
385
385
|
conv.status = this.setStatusConversation(conv.sender, conv.uid);
|
|
386
|
-
conv.time_last_message = this.getTimeLastMessage(conv.timestamp);
|
|
386
|
+
// conv.time_last_message = this.getTimeLastMessage(conv.timestamp);
|
|
387
387
|
conv.avatar = avatarPlaceholder(conversation_with_fullname);
|
|
388
388
|
conv.color = getColorBck(conversation_with_fullname);
|
|
389
389
|
if (!conv.last_message_text) {
|
|
@@ -417,16 +417,6 @@ export class MQTTConversationsHandler extends ConversationsHandlerService {
|
|
|
417
417
|
return status;
|
|
418
418
|
}
|
|
419
419
|
|
|
420
|
-
/**
|
|
421
|
-
* calcolo il tempo trascorso da ora al timestamp passato
|
|
422
|
-
* @param timestamp
|
|
423
|
-
*/
|
|
424
|
-
private getTimeLastMessage(timestamp: string) {
|
|
425
|
-
const timestampNumber = parseInt(timestamp) / 1000;
|
|
426
|
-
const time = getFromNow(timestampNumber);
|
|
427
|
-
return time;
|
|
428
|
-
}
|
|
429
|
-
|
|
430
420
|
/**
|
|
431
421
|
* restituisce il numero di conversazioni nuove
|
|
432
422
|
*/
|
|
@@ -12,9 +12,6 @@ import { PresenceService } from '../abstract/presence.service';
|
|
|
12
12
|
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
13
13
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
14
14
|
|
|
15
|
-
// utils
|
|
16
|
-
import { setLastDate } from '../../utils/utils';
|
|
17
|
-
import { environment } from '../../../environments/environment';
|
|
18
15
|
|
|
19
16
|
@Injectable({
|
|
20
17
|
providedIn: 'root'
|
|
@@ -11,8 +11,6 @@ import { PresenceService } from '../abstract/presence.service';
|
|
|
11
11
|
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
12
12
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
13
13
|
// utils
|
|
14
|
-
import { setLastDate } from '../../utils/utils';
|
|
15
|
-
import { environment } from '../../../environments/environment';
|
|
16
14
|
import { TypingService } from '../abstract/typing.service';
|
|
17
15
|
import { BehaviorSubject } from 'rxjs';
|
|
18
16
|
|
|
@@ -67,6 +67,7 @@ export class NativeUploadService extends UploadService {
|
|
|
67
67
|
if(upload.file.type.includes('pdf')){
|
|
68
68
|
downloadURL = this.URL_TILEDESK_FILE + '?path=' + encodeURI(data['filename']);
|
|
69
69
|
}
|
|
70
|
+
resolve(downloadURL)
|
|
70
71
|
// that.BSStateUpload.next({upload: upload});
|
|
71
72
|
}, (error) => {
|
|
72
73
|
this.logger.error('[NATIVE UPLOAD] - ERROR upload new file ', error)
|
|
@@ -147,80 +147,80 @@ export function removeHtmlTags(text) {
|
|
|
147
147
|
* ieri;
|
|
148
148
|
* giorno della settimana (lunedì, martedì, ecc)
|
|
149
149
|
*/
|
|
150
|
-
export function setHeaderDate_old(translate, timestamp, lastDate?): string {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
150
|
+
// export function setHeaderDate_old(translate, timestamp, lastDate?): string {
|
|
151
|
+
// var date = new Date(timestamp);
|
|
152
|
+
// let now: Date = new Date();
|
|
153
|
+
// var LABEL_TODAY;// = translate.get('LABEL_TODAY')['value'];
|
|
154
|
+
// var LABEL_TOMORROW;// = translate.get('LABEL_TOMORROW')['value'];
|
|
155
|
+
// translate.get('LABEL_TODAY').subscribe((res: string) => {
|
|
156
|
+
// LABEL_TODAY = res;
|
|
157
|
+
// });
|
|
158
|
+
// translate.get('LABEL_TOMORROW').subscribe((res: string) => {
|
|
159
|
+
// LABEL_TOMORROW = res;
|
|
160
|
+
// });
|
|
161
|
+
// var labelDays: string = LABEL_TODAY;
|
|
162
|
+
// var _MS_PER_DAY = 1000 * 60 * 60 * 24;
|
|
163
|
+
// // Esclude l'ora ed il fuso orario
|
|
164
|
+
// var utc1 = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate());
|
|
165
|
+
// var utc2 = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate());
|
|
166
|
+
// const days = Math.floor((utc2 - utc1) / _MS_PER_DAY);
|
|
167
|
+
// // console.log('setHeaderDate days: ********************',days);
|
|
168
|
+
// if (days > 6) {
|
|
169
|
+
// labelDays = date.toLocaleDateString();//date.getDate()+"/"+(date.getMonth()+1)+"/"+date.getFullYear();
|
|
170
|
+
// }
|
|
171
|
+
// else if (days == 0) {
|
|
172
|
+
// labelDays = LABEL_TODAY;
|
|
173
|
+
// } else if (days == 1) {
|
|
174
|
+
// labelDays = LABEL_TOMORROW;
|
|
175
|
+
// } else {
|
|
176
|
+
// labelDays = convertDayToString(translate, date.getDay());
|
|
177
|
+
// }
|
|
178
|
+
// // console.log('setHeaderDate labelDays: ********************',labelDays);
|
|
179
|
+
// // se le date sono diverse o la data di riferimento non è impostata
|
|
180
|
+
// // ritorna la data calcolata
|
|
181
|
+
// // altrimenti torna null
|
|
182
|
+
// if (lastDate != labelDays || lastDate == null || lastDate == '') {
|
|
183
|
+
// return labelDays;
|
|
184
|
+
// } else {
|
|
185
|
+
// return null;
|
|
186
|
+
// }
|
|
187
|
+
// }
|
|
188
188
|
|
|
189
189
|
/**
|
|
190
190
|
* @deprecated
|
|
191
191
|
*/
|
|
192
|
-
export function setHeaderDate(translate, timestamp): string {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
192
|
+
// export function setHeaderDate(translate, timestamp): string {
|
|
193
|
+
// // const LABEL_TODAY = translate.get('LABEL_TODAY');
|
|
194
|
+
// // const LABEL_TOMORROW = translate.get('LABEL_TOMORROW');
|
|
195
|
+
|
|
196
|
+
// const date = new Date(timestamp);
|
|
197
|
+
// const now: Date = new Date();
|
|
198
|
+
// let labelDays = '';
|
|
199
|
+
// if (now.getFullYear() !== date.getFullYear()) {
|
|
200
|
+
// // quest'anno: data esatta
|
|
201
|
+
// const month = date.getMonth() + 1;
|
|
202
|
+
// labelDays = date.getDay() + '/' + month + '/' + date.getFullYear();
|
|
203
|
+
// } else if (now.getMonth() !== date.getMonth()) {
|
|
204
|
+
// // questo mese: data esatta
|
|
205
|
+
// const month = date.getMonth() + 1;
|
|
206
|
+
// labelDays = date.getDay() + '/' + month + '/' + date.getFullYear();
|
|
207
|
+
// } else if (now.getDay() === date.getDay()) {
|
|
208
|
+
// // oggi: oggi
|
|
209
|
+
// labelDays = moment().calendar(timestamp).split(' ')[0].toLocaleLowerCase();
|
|
210
|
+
// // labelDays = LABEL_TODAY;
|
|
211
|
+
// } else if (now.getDay() - date.getDay() === 1) {
|
|
212
|
+
// // ieri: ieri
|
|
213
|
+
// labelDays = moment().calendar(timestamp).split(' ')[0].toLocaleLowerCase();
|
|
214
|
+
// // labelDays = LABEL_TOMORROW;
|
|
215
|
+
// } else {
|
|
216
|
+
// // questa settimana: giorno
|
|
217
|
+
// labelDays = convertDayToString(translate, date.getDay());
|
|
218
|
+
// }
|
|
219
|
+
// // se le date sono diverse o la data di riferimento non è impostata
|
|
220
|
+
// // ritorna la data calcolata
|
|
221
|
+
// // altrimenti torna null
|
|
222
|
+
// return labelDays;
|
|
223
|
+
// }
|
|
224
224
|
|
|
225
225
|
|
|
226
226
|
|
|
@@ -229,33 +229,33 @@ export function setHeaderDate(translate, timestamp): string {
|
|
|
229
229
|
* utilizzata per calcolare data ultimo accesso utente
|
|
230
230
|
* @param timestamp
|
|
231
231
|
*/
|
|
232
|
-
export function setLastDate(translate, timestamp): string {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
232
|
+
// export function setLastDate(translate, timestamp): string {
|
|
233
|
+
|
|
234
|
+
// const LABEL_TODAY = translate.get('LABEL_TODAY');
|
|
235
|
+
// const LABEL_TOMORROW = translate.get('LABEL_TOMORROW');
|
|
236
|
+
// const LABEL_TO = translate.get('LABEL_TO');
|
|
237
|
+
// const LABEL_LAST_ACCESS = translate.get('LABEL_LAST_ACCESS');
|
|
238
|
+
|
|
239
|
+
// var date = new Date(timestamp);
|
|
240
|
+
// let now: Date = new Date();
|
|
241
|
+
// var labelDays = '';
|
|
242
|
+
// if (now.getFullYear() !== date.getFullYear()) {
|
|
243
|
+
// const month = date.getMonth() + 1;
|
|
244
|
+
// labelDays = date.getDay() + '/' + month + '/' + date.getFullYear();
|
|
245
|
+
// } else if (now.getMonth() !== date.getMonth()) {
|
|
246
|
+
// const month = date.getMonth() + 1;
|
|
247
|
+
// labelDays = date.getDay() + '/' + month + '/' + date.getFullYear();
|
|
248
|
+
// } else if (now.getDay() === date.getDay()) {
|
|
249
|
+
// labelDays = LABEL_TODAY;
|
|
250
|
+
// } else if (now.getDay() - date.getDay() === 1) {
|
|
251
|
+
// labelDays = LABEL_TOMORROW;
|
|
252
|
+
// } else {
|
|
253
|
+
// labelDays = convertDayToString(translate, date.getDay());
|
|
254
|
+
// }
|
|
255
|
+
// // aggiungo orario
|
|
256
|
+
// const orario = date.getHours() + ':' + (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();
|
|
257
|
+
// return LABEL_LAST_ACCESS + ' ' + labelDays + ' ' + LABEL_TO + ' ' + orario;
|
|
258
|
+
// }
|
|
259
259
|
|
|
260
260
|
/**
|
|
261
261
|
*
|