This commit is contained in:
@@ -78,7 +78,8 @@ todo: Administration - Attached files manager
|
||||
way to implement is to include the two column names of the values to use as the tid column at server end
|
||||
like the db table names but instead they are column names
|
||||
|
||||
|
||||
todo: pass function to grid to generate virtual column from client side?
|
||||
But then sort and filter and ....blah blah blah
|
||||
|
||||
|
||||
todo: BUG widget form now always dirty for some fucking reason, fuck this shit, fuck.
|
||||
|
||||
@@ -228,5 +228,34 @@ export default {
|
||||
return new Intl.NumberFormat(languageName, {
|
||||
minimumFractionDigits: 2
|
||||
}).format(value);
|
||||
},
|
||||
///////////////////////////////////////////
|
||||
// Turn a file / memory size number into a local
|
||||
// decimal format display and in reasonable human readable range
|
||||
//
|
||||
humanFileSize(bytes, languageName, si = false, dp = 1) {
|
||||
const thresh = si ? 1000 : 1024;
|
||||
|
||||
if (Math.abs(bytes) < thresh) {
|
||||
return bytes + " B";
|
||||
}
|
||||
|
||||
const units = si
|
||||
? ["kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
|
||||
: ["KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"];
|
||||
let u = -1;
|
||||
const r = 10 ** dp;
|
||||
|
||||
do {
|
||||
bytes /= thresh;
|
||||
++u;
|
||||
} while (
|
||||
Math.round(Math.abs(bytes) * r) / r >= thresh &&
|
||||
u < units.length - 1
|
||||
);
|
||||
|
||||
return (
|
||||
this.decimalLocalized(bytes.toFixed(dp), languageName) + " " + units[u]
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -34,6 +34,29 @@ export default {
|
||||
params: { recordid: tid.id }
|
||||
});
|
||||
break;
|
||||
case ayatype.FileAttachment:
|
||||
//lookup the actual type
|
||||
//then call this method again to do the actual open
|
||||
|
||||
(async () => {
|
||||
try {
|
||||
let res = await window.$gz.api.get("attachment/parent/" + tid.id);
|
||||
console.log("res is", res);
|
||||
if (res.error) {
|
||||
throw res.error;
|
||||
}
|
||||
if (res.data.id && res.data.id != 0) {
|
||||
this.handleOpenObjectClick(vm, res.data);
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
throw e;
|
||||
}
|
||||
})();
|
||||
|
||||
//error here? or do nothing, doing nothing for now, should only apply if it's an orphan record and that is kind of obvious
|
||||
//or error "Can't open nothing"
|
||||
break;
|
||||
case ayatype.Translation:
|
||||
vm.$router.push({
|
||||
name: "adm-translation",
|
||||
|
||||
@@ -276,7 +276,8 @@ export default {
|
||||
Enum = 10,
|
||||
EmailAddress = 11,
|
||||
HTTP = 12,
|
||||
InternalId = 13
|
||||
InternalId = 13,
|
||||
MemorySize=14
|
||||
*/
|
||||
switch (ctrlType) {
|
||||
//DateLike?
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
</template>
|
||||
<template v-else-if="c.t == 4">
|
||||
<!-- TEXT (also maybe openable)-->
|
||||
<template v-if="c.i">
|
||||
<template v-if="c.i && c.i != 0">
|
||||
<!-- openable object with an ID -->
|
||||
<div
|
||||
class="subtitle-1"
|
||||
@@ -138,6 +138,10 @@
|
||||
<!-- Expects full url with protocol etc in c.v so might need to add to record builder -->
|
||||
<a :href="c.v" target="_blank">{{ c.v }}</a>
|
||||
</template>
|
||||
<template v-else-if="c.t == 14">
|
||||
<!-- File / memory Size -->
|
||||
{{ c.v }}
|
||||
</template>
|
||||
<template v-else>
|
||||
<!-- UNKNOWN -->
|
||||
{{ c.v }}
|
||||
@@ -232,7 +236,7 @@
|
||||
</template>
|
||||
<template v-else-if="c.t == 4">
|
||||
<!-- TEXT (also maybe openable)-->
|
||||
<template v-if="c.i">
|
||||
<template v-if="c.i && c.i != 0">
|
||||
<!-- openable object with an ID -->
|
||||
<div
|
||||
class="subtitle-1"
|
||||
@@ -292,6 +296,10 @@
|
||||
<!-- Expects full url with protocol etc in c.v so might need to add to record builder -->
|
||||
<a :href="c.v" target="_blank">{{ c.v }}</a>
|
||||
</template>
|
||||
<template v-else-if="c.t == 14">
|
||||
<!-- File / memory Size -->
|
||||
{{ c.v }}
|
||||
</template>
|
||||
<template v-else>
|
||||
<!-- UNKNOWN -->
|
||||
{{ c.v }}
|
||||
@@ -629,7 +637,8 @@ function buildRecords(listData, columndefinitions) {
|
||||
Enum = 10,
|
||||
EmailAddress = 11,
|
||||
HTTP = 12,
|
||||
InternalId = 13
|
||||
InternalId = 13,
|
||||
MemorySize=14
|
||||
|
||||
}
|
||||
*/
|
||||
@@ -681,6 +690,14 @@ function buildRecords(listData, columndefinitions) {
|
||||
display
|
||||
);
|
||||
break;
|
||||
case 14: //MemorySize (file size)
|
||||
display = window.$gz.locale.humanFileSize(
|
||||
display,
|
||||
languageName,
|
||||
false,
|
||||
2
|
||||
);
|
||||
break;
|
||||
default:
|
||||
//do nothing, allow it to stay as is (checkbox, plain text etc)
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ export default {
|
||||
|
||||
/////////////////////////////
|
||||
//
|
||||
//
|
||||
//
|
||||
function clickHandler(menuItem) {
|
||||
if (!menuItem) {
|
||||
return;
|
||||
|
||||
@@ -131,8 +131,6 @@ function generateMenu(vm) {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
// //STUB REPORTS
|
||||
// //Report not Print, print is a further option
|
||||
// menuOptions.menuItems.push({
|
||||
|
||||
@@ -175,7 +175,13 @@
|
||||
</div>
|
||||
|
||||
<!-- INTEGER BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 5">
|
||||
<!-- Also MemorySize type 14 are integers -->
|
||||
<div
|
||||
v-if="
|
||||
item.uiFieldDataType === 5 ||
|
||||
item.uiFieldDataType === 14
|
||||
"
|
||||
>
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.integerFilterOperators"
|
||||
|
||||
Reference in New Issue
Block a user