use control-group for add-rows widget, fix paginator overflowing with hundreds of items

pull/35/head
Ondřej Hruška 6 years ago
parent a3df7a724c
commit 23f27e6f34
Signed by: MightyPork
GPG Key ID: 2C5FD5035250423D
  1. 14
      app/Tables/Changeset.php
  2. 13
      resources/assets/js/components/RowsEditor.vue

@ -619,9 +619,19 @@ class Changeset
return $c->cast(null); return $c->cast(null);
})->all(); })->all();
foreach ($this->newColumns as $k => $obj) {
$cols[] = $c = new Column($obj);
$c->markAsNew();
$emptyTpl[$k] = $c->cast(null);
}
$this->newRows = array_filter($this->newRows, function ($r) use ($emptyTpl) { $this->newRows = array_filter($this->newRows, function ($r) use ($emptyTpl) {
$emptyTpl['_id'] = $r['_id']; foreach ($r as $k => $val) {
return $emptyTpl != $r; if ($k[0] == '_') continue;
if ($val != $emptyTpl[$k]) return true;
}
return false;
}); });
} }
} }

@ -11,18 +11,24 @@ Rows are identified by row._id, columns by col.id
<template> <template>
<div> <div>
<div class="col-md-12 d-flex mt-3"> <div class="col-md-12 d-flex flex-wrap">
<div class="mt-3">
<div v-if="hasPages" v-html="pager"></div> <div v-if="hasPages" v-html="pager"></div>
</div>
<div class="flex-grow-1"></div> <div class="flex-grow-1"></div>
<div class="d-flex flex-nowrap mt-3">
<form :action="route" method="POST" v-if="newRows" class="form-inline mr-2"> <form :action="route" method="POST" v-if="newRows" class="form-inline mr-2">
<input type="hidden" name="_token" :value="csrf"> <input type="hidden" name="_token" :value="csrf">
<input type="hidden" name="action" value="rows.add"> <input type="hidden" name="action" value="rows.add">
<input type="hidden" name="redirect" :value="pageUrl"> <input type="hidden" name="redirect" :value="pageUrl">
<div class="input-group">
<input name="count" id="newrow-count" type="number" <input name="count" id="newrow-count" type="number"
min=1 step=1 value=1 class="form-control mr-1" style="width: 8em"> min=1 step=1 value=1 class="form-control" style="width: 6em">
<div class="input-group-append">
<button class="btn btn-outline-success">Add Rows</button> <button class="btn btn-outline-success">Add Rows</button>
</div>
</div>
</form> </form>
<a :href="loadCsvUrl" class="btn btn-outline-success mr-2" v-if="newRows && loadCsvUrl"> <a :href="loadCsvUrl" class="btn btn-outline-success mr-2" v-if="newRows && loadCsvUrl">
@ -42,6 +48,7 @@ Rows are identified by row._id, columns by col.id
Save Rows Save Rows
</button> </button>
</div> </div>
</div>
<div class="col-md-12 mt-3"> <div class="col-md-12 mt-3">
<table :class="[ <table :class="[

Loading…
Cancel
Save