-
Notifications
You must be signed in to change notification settings - Fork 120
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed missing copy buttons for Wagtail 2.6.x.
- Loading branch information
Benedikt Willi
committed
Sep 5, 2019
1 parent
da68dd1
commit af88809
Showing
3 changed files
with
92 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
76 changes: 76 additions & 0 deletions
76
wagtail_modeltranslation/static/wagtail_modeltranslation/js/version_compare.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
/** | ||
* Compares two software version numbers (e.g. "1.7.1" or "1.2b"). | ||
* | ||
* This function was born in http://stackoverflow.com/a/6832721. | ||
* | ||
* @param {string} v1 The first version to be compared. | ||
* @param {string} v2 The second version to be compared. | ||
* @param {object} [options] Optional flags that affect comparison behavior: | ||
* <ul> | ||
* <li> | ||
* <tt>lexicographical: true</tt> compares each part of the version strings lexicographically instead of | ||
* naturally; this allows suffixes such as "b" or "dev" but will cause "1.10" to be considered smaller than | ||
* "1.2". | ||
* </li> | ||
* <li> | ||
* <tt>zeroExtend: true</tt> changes the result if one version string has less parts than the other. In | ||
* this case the shorter string will be padded with "zero" parts instead of being considered smaller. | ||
* </li> | ||
* </ul> | ||
* @returns {number|NaN} | ||
* <ul> | ||
* <li>0 if the versions are equal</li> | ||
* <li>a negative integer iff v1 < v2</li> | ||
* <li>a positive integer iff v1 > v2</li> | ||
* <li>NaN if either version string is in the wrong format</li> | ||
* </ul> | ||
* | ||
* @copyright by Jon Papaioannou (["john", "papaioannou"].join(".") + "@gmail.com") | ||
* @license This function is in the public domain. Do what you want with it, no strings attached. | ||
*/ | ||
function versionCompare(v1, v2, options) { | ||
var lexicographical = options && options.lexicographical, | ||
zeroExtend = options && options.zeroExtend, | ||
v1parts = v1.split('.'), | ||
v2parts = v2.split('.'); | ||
|
||
function isValidPart(x) { | ||
return (lexicographical ? /^\d+[A-Za-z]*$/ : /^\d+$/).test(x); | ||
} | ||
|
||
if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) { | ||
return NaN; | ||
} | ||
|
||
if (zeroExtend) { | ||
while (v1parts.length < v2parts.length) v1parts.push("0"); | ||
while (v2parts.length < v1parts.length) v2parts.push("0"); | ||
} | ||
|
||
if (!lexicographical) { | ||
v1parts = v1parts.map(Number); | ||
v2parts = v2parts.map(Number); | ||
} | ||
|
||
for (var i = 0; i < v1parts.length; ++i) { | ||
if (v2parts.length == i) { | ||
return 1; | ||
} | ||
|
||
if (v1parts[i] == v2parts[i]) { | ||
continue; | ||
} | ||
else if (v1parts[i] > v2parts[i]) { | ||
return 1; | ||
} | ||
else { | ||
return -1; | ||
} | ||
} | ||
|
||
if (v1parts.length != v2parts.length) { | ||
return -1; | ||
} | ||
|
||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters