Add row context menus, fix glyphicon copy corruption, combine CC email editing
- Fuchs/gulpfile.js: pass encoding:false to gulp.src() in the copy task — vinyl-fs otherwise UTF-8-decodes binary files by default, which was silently corrupting the glyphicons webfont (and any other binary asset copyconfig.json matches) on every `gulp copy`/`gulp all` run. - Invoice/reminder editor: replace the row's flat action icons (edit/ delete/insert/set-price) with a single context button opening a dropdown menu, reusing the existing $ocms.menu toolbar mechanism. - Fix "-1" leaking into the Pos. column for Text/Title rows: $inv.rrw's `dta.position || dta.SortOrder` fallback treated the numbering's intentional empty string as unset and fell back to SortOrder (-1 for such rows); now only a genuinely uncomputed position falls back. - Zusatzempfänger (CC) is now edited together with the main invoice email in one combined dialog ($inv.emailFrm/$inv.eEmail), wired into all three entry points (create, continue, storno) instead of a separate hover-revealed row with its own edit target. - Add tooltips to every row/header edit control, including several that had none before (header field pencils, the request/section title edit button), phrased as object+verb ($rct.frmTT). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -147,7 +147,11 @@ gulp.task("copy", async () => {
|
||||
const jobs = [];
|
||||
for (const cpy of copyconfig) {
|
||||
jobs.push(
|
||||
pipeline(gulp.src(cpy.src, { allowEmpty: true }), gulp.dest(cpy.dest), preservetimeSafe(), logSink("Copied: "))
|
||||
/* encoding:false is required — vinyl-fs otherwise UTF-8-decodes every file by default,
|
||||
which corrupts binary assets (fonts, etc.) by replacing invalid byte sequences with
|
||||
U+FFFD. This is what silently mangled the glyphicons webfont before (see "Fix
|
||||
corrupted glyphicons webfont files causing decode failures"). */
|
||||
pipeline(gulp.src(cpy.src, { allowEmpty: true, encoding: false }), gulp.dest(cpy.dest), preservetimeSafe(), logSink("Copied: "))
|
||||
);
|
||||
}
|
||||
await Promise.all(jobs);
|
||||
|
||||
Reference in New Issue
Block a user