Skip to content

Commit

Permalink
Move global helper functions to the bundle and deprecate some of them
Browse files Browse the repository at this point in the history
Signed-off-by: Christoph Wurst <[email protected]>
  • Loading branch information
ChristophWurst committed Feb 1, 2019
1 parent 8709f6b commit ab73c9c
Show file tree
Hide file tree
Showing 7 changed files with 181 additions and 45 deletions.
81 changes: 71 additions & 10 deletions core/js/dist/main.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion core/js/dist/main.js.map

Large diffs are not rendered by default.

34 changes: 0 additions & 34 deletions core/js/js.js
Original file line number Diff line number Diff line change
Expand Up @@ -1312,40 +1312,6 @@ function initCore() {
$(document).ready(initCore);

/**
* Format an UNIX timestamp to a human understandable format
* @param {number} timestamp UNIX timestamp
* @return {string} Human readable format
*/
function formatDate(timestamp){
return OC.Util.formatDate(timestamp);
}

//
/**
* Get the value of a URL parameter
* @link http://stackoverflow.com/questions/1403888/get-url-parameter-with-jquery
* @param {string} name URL parameter
* @return {string}
*/
function getURLParameter(name) {
return decodeURIComponent(
(new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(
location.search)||[,''])[1].replace(/\+/g, '%20')
)||'';
}

/**
* Takes an absolute timestamp and return a string with a human-friendly relative date
* @param {number} timestamp A Unix timestamp
*/
function relative_modified_date(timestamp) {
/*
Were multiplying by 1000 to bring the timestamp back to its original value
per https://github.com/owncloud/core/pull/10647#discussion_r16790315
*/
return OC.Util.relativeModifiedDate(timestamp * 1000);
}

// fallback to hashchange when no history support
if (window.history.pushState) {
window.onpopstate = _.bind(OC.Util.History._onPopState, OC.Util.History);
Expand Down
34 changes: 34 additions & 0 deletions core/src/Util/format-date.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

// TODO: import Util directly: https://github.com/nextcloud/server/pull/13957
import OC from '../OC/index'

/**
* Format an UNIX timestamp to a human understandable format
* @param {number} timestamp UNIX timestamp
* @return {string} Human readable format
* @deprecated 16.0.0 use OC.Util.formatDate instead
*/
export default function formatDate (timestamp) {
console.warn('formatDate is deprecated, use OC.Util.formatDate instead')
return OC.Util.formatDate(timestamp);
}
32 changes: 32 additions & 0 deletions core/src/Util/get-url-parameter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

/**
* Get the value of a URL parameter
* @link http://stackoverflow.com/questions/1403888/get-url-parameter-with-jquery
* @param {string} name URL parameter
* @return {string}
*/
export default function getURLParameter (name) {
return decodeURIComponent(
(new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ''])[1].replace(/\+/g, '%20')
) || '';
}
37 changes: 37 additions & 0 deletions core/src/Util/relative-modified-date.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

// TODO: import Util directly: https://github.com/nextcloud/server/pull/13957
import OC from '../OC/index'

/**
* Takes an absolute timestamp and return a string with a human-friendly relative date
* @param {number} timestamp A Unix timestamp
* @deprecated use OC.Util.relativeModifiedDate instead but beware the argument value
*/
export default function relative_modified_date (timestamp) {
console.warn('relative_modified_date is deprecated, use OC.Util.relativeModifiedDate instead')
/*
Were multiplying by 1000 to bring the timestamp back to its original value
per https://github.com/owncloud/core/pull/10647#discussion_r16790315
*/
return OC.Util.relativeModifiedDate(timestamp * 1000);
}
6 changes: 6 additions & 0 deletions core/src/globals.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,10 @@ import OC from './OC/index'
import OCP from './OCP/index'
import OCA from './OCA/index'
import escapeHTML from './Util/escapeHTML'
import formatDate from './Util/format-date'
import getUrlParameter from './Util/get-url-parameter'
import humanFileSize from './Util/human-file-size'
import relative_modified_date from './Util/relative-modified-date'

window['_'] = _
window['$'] = $
Expand All @@ -75,7 +78,10 @@ window['OC'] = OC
window['OCP'] = OCP
window['OCA'] = OCA
window['escapeHTML'] = escapeHTML
window['formatDate'] = formatDate
window['getUrlParameter'] = getUrlParameter
window['humanFileSize'] = humanFileSize
window['relative_modified_date'] = relative_modified_date

/**
* translate a string
Expand Down

0 comments on commit ab73c9c

Please sign in to comment.