mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-27 03:06:41 +00:00
Remove moment in favor of fecha
This commit is contained in:
parent
afbed89390
commit
7ae4b50167
@ -11,14 +11,14 @@
|
|||||||
"polymer": "Polymer/polymer#~1.6",
|
"polymer": "Polymer/polymer#~1.6",
|
||||||
"pikaday": "1.4",
|
"pikaday": "1.4",
|
||||||
"leaflet-map": "1.2.0",
|
"leaflet-map": "1.2.0",
|
||||||
"moment": "^2.14.1",
|
|
||||||
"iron-elements": "PolymerElements/iron-elements#~1.0.10",
|
"iron-elements": "PolymerElements/iron-elements#~1.0.10",
|
||||||
"paper-elements": "PolymerElements/paper-elements#~1.0.7",
|
"paper-elements": "PolymerElements/paper-elements#~1.0.7",
|
||||||
"google-apis": "GoogleWebComponents/google-apis#~1.1.6",
|
"google-apis": "GoogleWebComponents/google-apis#~1.1.6",
|
||||||
"font-roboto-local": "^1.0.1",
|
"font-roboto-local": "^1.0.1",
|
||||||
"iron-flex-layout": "^1.3.1",
|
"iron-flex-layout": "^1.3.1",
|
||||||
"paper-scroll-header-panel": "1.0.16",
|
"paper-scroll-header-panel": "1.0.16",
|
||||||
"app-layout": "^0.10.1"
|
"app-layout": "^0.10.1",
|
||||||
|
"fecha": "^2.2.0"
|
||||||
},
|
},
|
||||||
"_comment": "added to get min version for iron-flex-layout, paper-scroll-header-panel"
|
"_comment": "specify iron-flex-layout for higher version than iron elements"
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
||||||
|
|
||||||
<link rel="import" href="../../src/components/domain-icon.html">
|
<link rel="import" href="../../src/components/domain-icon.html">
|
||||||
<link rel="import" href="../../src/components/display-time.html">
|
|
||||||
<link rel="import" href="../../src/components/relative-ha-datetime.html">
|
|
||||||
|
|
||||||
|
|
||||||
<dom-module id="ha-logbook">
|
<dom-module id="ha-logbook">
|
||||||
@ -21,8 +19,8 @@
|
|||||||
line-height: 2em;
|
line-height: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
display-time {
|
.time {
|
||||||
width: 55px;
|
width: 23px;
|
||||||
font-size: .8em;
|
font-size: .8em;
|
||||||
color: var(--secondary-text-color);
|
color: var(--secondary-text-color);
|
||||||
}
|
}
|
||||||
@ -51,7 +49,7 @@
|
|||||||
|
|
||||||
<template is='dom-repeat' items="[[entries]]">
|
<template is='dom-repeat' items="[[entries]]">
|
||||||
<div class='horizontal layout entry'>
|
<div class='horizontal layout entry'>
|
||||||
<display-time date-obj="[[item.when]]"></display-time>
|
<div class='time'>[[formatTime(item.when)]]</div>
|
||||||
<domain-icon domain="[[item.domain]]" class='icon'></domain-icon>
|
<domain-icon domain="[[item.domain]]" class='icon'></domain-icon>
|
||||||
<div class='message' flex>
|
<div class='message' flex>
|
||||||
<template is='dom-if' if="[[!item.entityId]]">
|
<template is='dom-if' if="[[!item.entityId]]">
|
||||||
@ -83,6 +81,10 @@ Polymer({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
formatTime: function (dateObj) {
|
||||||
|
return window.hassUtil.formatTime(dateObj);
|
||||||
|
},
|
||||||
|
|
||||||
entityClicked: function (ev) {
|
entityClicked: function (ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
this.hass.moreInfoActions.selectEntity(ev.model.item.entityId);
|
this.hass.moreInfoActions.selectEntity(ev.model.item.entityId);
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
|
||||||
|
|
||||||
<script>
|
|
||||||
Polymer({
|
|
||||||
is: 'display-time',
|
|
||||||
|
|
||||||
properties: {
|
|
||||||
dateObj: {
|
|
||||||
type: Object,
|
|
||||||
observer: 'timeChanged',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
timeChanged: function (dateObj) {
|
|
||||||
var root = Polymer.dom(this);
|
|
||||||
root.innerHTML = window.moment(dateObj).format('LT');
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
@ -1,7 +1,7 @@
|
|||||||
<link rel="import" href="../../../bower_components/polymer/polymer.html">
|
<link rel="import" href="../../../bower_components/polymer/polymer.html">
|
||||||
|
|
||||||
<link rel="import" href="./state-badge.html">
|
<link rel="import" href="./state-badge.html">
|
||||||
<link rel="import" href="../relative-ha-datetime.html">
|
<link rel="import" href="../ha-relative-time.html">
|
||||||
|
|
||||||
<dom-module id="state-info">
|
<dom-module id="state-info">
|
||||||
<template>
|
<template>
|
||||||
@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
<template is='dom-if' if='[[inDialog]]'>
|
<template is='dom-if' if='[[inDialog]]'>
|
||||||
<div class='time-ago'>
|
<div class='time-ago'>
|
||||||
<relative-ha-datetime datetime-obj='[[stateObj.lastChangedAsDate]]'></relative-ha-datetime>
|
<ha-relative-time datetime-obj='[[stateObj.lastChangedAsDate]]'></ha-relative-time>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
Polymer({
|
Polymer({
|
||||||
is: 'relative-ha-datetime',
|
is: 'ha-relative-time',
|
||||||
|
|
||||||
properties: {
|
properties: {
|
||||||
datetime: {
|
datetime: {
|
||||||
@ -48,7 +48,7 @@ Polymer({
|
|||||||
updateRelative: function () {
|
updateRelative: function () {
|
||||||
var root = Polymer.dom(this);
|
var root = Polymer.dom(this);
|
||||||
root.innerHTML = this.parsedDateTime ?
|
root.innerHTML = this.parsedDateTime ?
|
||||||
window.moment(this.parsedDateTime).fromNow() : '';
|
window.hassUtil.relativeTime(this.parsedDateTime) : '';
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
@ -1,5 +1,3 @@
|
|||||||
<script src='../bower_components/moment/min/moment.min.js'></script>
|
|
||||||
|
|
||||||
<link rel='import' href='../bower_components/polymer/polymer.html'>
|
<link rel='import' href='../bower_components/polymer/polymer.html'>
|
||||||
<link rel='import' href='../bower_components/paper-spinner/paper-spinner.html'>
|
<link rel='import' href='../bower_components/paper-spinner/paper-spinner.html'>
|
||||||
<link rel='import' href='./util/roboto.html'>
|
<link rel='import' href='./util/roboto.html'>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
||||||
|
|
||||||
<link rel="import" href="../components/relative-ha-datetime.html">
|
<link rel="import" href="../components/ha-relative-time.html">
|
||||||
|
|
||||||
<dom-module id="more-info-sun">
|
<dom-module id="more-info-sun">
|
||||||
<template>
|
<template>
|
||||||
@ -10,7 +10,7 @@
|
|||||||
<div class='data-entry layout justified horizontal'>
|
<div class='data-entry layout justified horizontal'>
|
||||||
<div class='key'>
|
<div class='key'>
|
||||||
<span>[[itemCaption(item)]]</span>
|
<span>[[itemCaption(item)]]</span>
|
||||||
<relative-ha-datetime datetime-obj="[[itemDate(item)]]"></relative-ha-datetime>
|
<ha-relative-time datetime-obj="[[itemDate(item)]]"></ha-relative-time>
|
||||||
</div>
|
</div>
|
||||||
<div class='value'>[[itemValue(item)]]</div>
|
<div class='value'>[[itemValue(item)]]</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
<script src='../../bower_components/fecha/fecha.min.js'></script>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
collection of utility functions.
|
collection of utility functions.
|
||||||
-->
|
-->
|
||||||
@ -68,18 +70,47 @@ window.hassUtil.dynamicContentUpdater = function (root, newElementTag, attribute
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
window.fecha.masks.haDateTime = (window.fecha.masks.shortTime + ' ' +
|
||||||
|
window.fecha.masks.mediumDate);
|
||||||
|
|
||||||
window.hassUtil.formatDateTime = function (dateObj) {
|
window.hassUtil.formatDateTime = function (dateObj) {
|
||||||
return window.moment(dateObj).format('lll');
|
return window.fecha.format(dateObj, 'haDateTime');
|
||||||
};
|
};
|
||||||
|
|
||||||
window.hassUtil.formatDate = function (dateObj) {
|
window.hassUtil.formatDate = function (dateObj) {
|
||||||
return window.moment(dateObj).format('ll');
|
return window.fecha.format(dateObj, 'mediumDate');
|
||||||
};
|
};
|
||||||
|
|
||||||
window.hassUtil.formatTime = function (dateObj) {
|
window.hassUtil.formatTime = function (dateObj) {
|
||||||
return window.moment(dateObj).format('LT');
|
return window.fecha.format(dateObj, 'shortTime');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
window.hassUtil.relativeTime = function (dateObj) {
|
||||||
|
var delta = (new Date() - dateObj) / 1000;
|
||||||
|
var tests = window.hassUtil.relativeTime.tests;
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < tests.length; i += 2) {
|
||||||
|
if (delta < tests[i]) {
|
||||||
|
delta = Math.floor(delta);
|
||||||
|
return delta === 1 ? '1 ' + tests[i + 1] : delta + ' ' + tests[i + 1] + 's';
|
||||||
|
}
|
||||||
|
|
||||||
|
delta /= tests[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
delta = Math.floor(delta);
|
||||||
|
return delta === 1 ? '1 week' : delta + ' weeks';
|
||||||
|
};
|
||||||
|
|
||||||
|
window.hassUtil.relativeTime.tests = [
|
||||||
|
60, 'second',
|
||||||
|
60, 'minute',
|
||||||
|
24, 'hour',
|
||||||
|
7, 'day',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
window.hassUtil.stateCardType = function (hass, state) {
|
window.hassUtil.stateCardType = function (hass, state) {
|
||||||
if (state.state === 'unavailable') {
|
if (state.state === 'unavailable') {
|
||||||
return 'display';
|
return 'display';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user