|
@@ -1,59 +1,71 @@
|
|
@extends ('layouts/template')
|
|
@extends ('layouts/template')
|
|
@section('content')
|
|
@section('content')
|
|
-<div class="row">
|
|
|
|
- <div class="col-md-12">
|
|
|
|
- <h5>Clauses - Replace All</h5>
|
|
|
|
- </div>
|
|
|
|
-</div>
|
|
|
|
-<div id="app">
|
|
|
|
- <div class="container">
|
|
|
|
- <div class="row">
|
|
|
|
- <div class="col-md-6">
|
|
|
|
- <div class="bg-white p-3">
|
|
|
|
- <h6>TSV</h6>
|
|
|
|
- <div class="input-group">
|
|
|
|
- <textarea v-model="content" class="form-control" rows="10" @change="splitContents"></textarea>
|
|
|
|
- </div>
|
|
|
|
|
|
+
|
|
|
|
+<main id="replaceAllComponent" role="main" class="stag-content px-0" v-cloak>
|
|
|
|
+ <div class="p-3 mcp-theme-1">
|
|
|
|
+ <div class="card">
|
|
|
|
+ <div class="card-header">
|
|
|
|
+ <div class="d-flex align-items-center justify-content-between">
|
|
|
|
+ <h6 class="font-weight-bold">Clauses - Replace All</h6>
|
|
|
|
+ <div>
|
|
|
|
+ <a href="{{ route('practice-management.clauses.list') }}" class="btn btn-sm btn-primary text-white"><i class="fas fa-clipboard-list"></i> View Clauses</a>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- <div class="col-md-6">
|
|
|
|
- <div class="bg-white p-3">
|
|
|
|
- <h6>JSON Structure</h6>
|
|
|
|
- <textarea class="form-control" rows="10">@{{jsonStructure}}</textarea>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- <template v-if="rows.length">
|
|
|
|
- <div class="row my-3">
|
|
|
|
- <div class="col">
|
|
|
|
- <div class="bg-white p-3">
|
|
|
|
- <h6>Table output:</h6>
|
|
|
|
- <div class="table-responsive">
|
|
|
|
- <table class="table table-bordered table-hover">
|
|
|
|
- <tbody>
|
|
|
|
- <tr v-for="(row, rowIndex) in rows">
|
|
|
|
- <td v-for="(column, columnIndex) in columns[rowIndex]">
|
|
|
|
- <input class="border-0" type="text" v-model="columns[rowIndex][columnIndex]" @keyup="updateColumns(rowIndex, columnIndex)">
|
|
|
|
- </td>
|
|
|
|
- </td>
|
|
|
|
- </tbody>
|
|
|
|
- </table>
|
|
|
|
|
|
+ <div class="card-body">
|
|
|
|
+ <div class="row">
|
|
|
|
+ <div class="col-md-6">
|
|
|
|
+ <div class="bg-white p-3">
|
|
|
|
+ <h6 class="font-weight-bold">TSV</h6>
|
|
|
|
+ <div class="input-group">
|
|
|
|
+ <textarea v-model="content" class="form-control" rows="10" @keyup="splitContents"></textarea>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-md-6">
|
|
|
|
+ <div class="bg-white p-3">
|
|
|
|
+ <h6 class="font-weight-bold">JSON Structure</h6>
|
|
|
|
+ <textarea class="form-control" rows="10">@{{jsonStructure}}</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- <div class="row">
|
|
|
|
- <div class="col-md-12">
|
|
|
|
- <button type="button" class="btn btn-sm btn-primary" @click="submit">Submit</button>
|
|
|
|
|
|
+ <template v-if="rows.length">
|
|
|
|
+ <div class="row">
|
|
|
|
+ <div class="col">
|
|
|
|
+ <div class="bg-white p-3">
|
|
|
|
+ <h6 class="font-weight-bold">Table output:</h6>
|
|
|
|
+ <div class="table-responsive">
|
|
|
|
+ <table class="table table-bordered table-hover">
|
|
|
|
+ <tbody>
|
|
|
|
+ <tr v-for="(row, rowIndex) in rows">
|
|
|
|
+ <td v-for="(column, columnIndex) in columns[rowIndex]">
|
|
|
|
+ <input class="border-0" type="text" v-model="columns[rowIndex][columnIndex]" @keyup="updateColumns(rowIndex, columnIndex)">
|
|
|
|
+ </td>
|
|
|
|
+ </td>
|
|
|
|
+ </tbody>
|
|
|
|
+ </table>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+
|
|
|
|
+ <div class="row">
|
|
|
|
+ <div class="col-12">
|
|
|
|
+ <div class="px-3">
|
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" @click="submit">Submit</button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
-</div>
|
|
|
|
|
|
+</main>
|
|
|
|
|
|
<script type="text/javascript">
|
|
<script type="text/javascript">
|
|
- var app = new Vue({
|
|
|
|
- el: '#app',
|
|
|
|
|
|
+ var replaceAllComponent = new Vue({
|
|
|
|
+ el: '#replaceAllComponent',
|
|
data: {
|
|
data: {
|
|
content: '',
|
|
content: '',
|
|
rowSplitter: '\n',
|
|
rowSplitter: '\n',
|
|
@@ -63,6 +75,7 @@
|
|
maxColumn: 0,
|
|
maxColumn: 0,
|
|
jsonStructure: '',
|
|
jsonStructure: '',
|
|
},
|
|
},
|
|
|
|
+ delimiters: ['@{{', '}}'],
|
|
methods: {
|
|
methods: {
|
|
updateColumns(rowIndex, columnIndex) {
|
|
updateColumns(rowIndex, columnIndex) {
|
|
try {
|
|
try {
|
|
@@ -104,12 +117,14 @@
|
|
this.jsonStructure = JSON.stringify([], null, '\t');
|
|
this.jsonStructure = JSON.stringify([], null, '\t');
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- submit: function(){
|
|
|
|
|
|
+ submit: function() {
|
|
var data = JSON.stringify(this.columns);
|
|
var data = JSON.stringify(this.columns);
|
|
- $.post('{{ route("practice-management.api.clause.replaceAll") }}', {data}, function(response){
|
|
|
|
- if(response.success){
|
|
|
|
- fastLoad("{{ route('practice-management.clauses.list') }}");
|
|
|
|
- }else{
|
|
|
|
|
|
+ $.post('{{ route("practice-management.api.clause.replaceAll") }}', {
|
|
|
|
+ data
|
|
|
|
+ }, function(response) {
|
|
|
|
+ if (response.success) {
|
|
|
|
+ fastLoad("{{ route('practice-management.clauses.list') }}");
|
|
|
|
+ } else {
|
|
alert(response.message);
|
|
alert(response.message);
|
|
}
|
|
}
|
|
}, 'json');
|
|
}, 'json');
|