Skip to content

Instantly share code, notes, and snippets.

@qrobin
Last active April 6, 2016 23:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save qrobin/84351dab2495e738b24d08754301f2e6 to your computer and use it in GitHub Desktop.
Save qrobin/84351dab2495e738b24d08754301f2e6 to your computer and use it in GitHub Desktop.
tableMethods.contenteditable2({
data_attr: 'prices',
collection: Transfers,
template: Template.tableInsiderTransfers,
editTargetObj: { ru: "цена" },
type: String
});
contenteditable2: function({ data_attr, collection, template, editTargetObj, type }) {
with(this.datafields(data_attr)) {
events[clickData] = function(e) {
oldVal = e.target.innerText;
e.target.textContent = '';
view = Blaze.render(Template.text, $(e.target).parent()[0]);
let select = $(e.target).parent().find('input');
$(select).on('blur', function(e) {
newVal = $(select).val();
console.log(oldVal);
console.log(newVal);
if (!newVal) {
let result = {};
let key = e.target.id;
result[key] = '';
Blaze.remove(view);
collection.findAndModify({
query: { _id: this._id },
update: { $set: result },
new: false
}, function(err, success) {
if (err) {
console.log(err)
} else {
console.log(success);
}
});
$.notify({
title: `Изменения в базе данных: `,
message: `${editTargetObj.ru}: ${result.key}`
}, _notifyMethods.success)
} else if (oldVal !== newVal) {
let result = {};
let key = // ВОТ ЗДЕСЬ ЕГО НАДО ПОЛУЧИТЬ
Blaze.remove(view);
result[key] = newVal;
collection.findAndModify({
query: { _id: this._id },
update: { $set: result },
new: false
}, function(err, success) {
if (err) {
console.log(err)
} else {
console.log(success);
}
});
$.notify({
title: `Изменения в базе данных: `,
message: `${editTargetObj.ru}: ${newVal}`
}, _notifyMethods.success)
} else {
$.notify({
title: "База данных: ",
message: "без изменений"
},
_notifyMethods.default);
}
});
};
events[keyData] = function(ev) {
if (ev.keyCode == 13 || ev.which == 13) {
ev.preventDefault ? ev.preventDefault() : ev.returnValue = false
events[blurData]()
}
};
template.events(events);
}
},
{{# each transfers}}
<div class="wrapped-place">
<div class="col-sm-24-fluid">
<div class="tr content">
<div class="td col-xs-11" data-toggle-id="{{_id}}" data-sort="districtFrom" data-name-sort="{{districtFrom}}"> {{districtFrom}} </div>
<div class="td col-xs-11" data-toggle-id="{{_id}}" data-sort="districtTo" data-name-sort="{{districtTo}}"> {{districtTo}} </div>
<div class="td col-xs-2" data-archive="archive"> Удалить </div>
</div>
</div>
<div class="editor" data-curr-id='{{_id}}'>
<div class="container">
<div class="row">
<div class="col-sm-24">
<p> Сервис: <span data-field="service" contenteditable="false">{{{service}}}</span>
</p>
<br>
<p> Организатор:
<span data-p-field="provider" data-field="provider">{{provider}}</span>
</p>
<br>
<p> Направление транфера: из <span data-field="districtFrom"> {{districtFrom}}</span> в <span data-field="districtTo"> {{districtTo}}</span>
</p>
<br>
<p> Информация:
<br> общая <span data-field="info"> {{info}}</span>
<br> для туриста <span data-field="infoTourist"> {{infoTourist}}</span>
<br> ссылка на сайт <span data-field="URL"> {{URL}}</span>
</p>
<br>
<p> Доплата за ночное время:
<div class="col-xs-24">
<div class="table-responsive">
<table summary="This table shows how to create responsive tables using Bootstrap's default functionality" class="table table-bordered table-hover">
<caption class="text-center">Цены</caption>
<thead>
<tr>
<th></th>
<th>minibus</th>
<th>minibus + boat</th>
<th>minibus + speedboat</th>
<th>minibus + speedboat + taxi</th>
</tr>
</thead>
<tbody>
<tr>
<td>Врослый в одну сторону</td>
<td><span data-field="prices">
{{#if prices.minibus.minibusAdultOneWay}}
{{prices.minibus.minibusAdultOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusBoat.minibusBoatAdultOneWay}}
{{prices.minibusBoat.minibusBoatAdultOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatAdultOneWay}}
{{prices.minibusSpeedboat.minibusSpeedboatAdultOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultOneWay}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
<tr>
<td>Врослый в одну сторону (NET)</td>
<td><span data-field="prices">
{{#if prices.minibus.minibusAdultNetOneWay}}
{{prices.minibus.minibusAdultNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusBoat.minibusBoatAdultNetOneWay}}
{{prices.minibusBoat.minibusBoatAdultNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatAdultNetOneWay}}
{{prices.minibusSpeedboat.minibusSpeedboatAdultNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultNetOneWay}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
<tr>
<td>Врослый в обе стороны</td>
<td><span data-field="prices">
{{#if prices.minibus.minibusAdultTwoWays}}
{{prices.minibus.minibusAdultTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusBoat.minibusBoatAdultTwoWays}}
{{prices.minibusBoat.minibusBoatAdultTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatAdultTwoWays}}
{{prices.minibusSpeedboat.minibusSpeedboatAdultTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultTwoWays}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
<tr>
<td>Врослый в обе стороны (NET)</td>
<td><span data-field="prices">
{{#if prices.minibus.minibusAdultNetTwoWays}}
{{prices.minibus.minibusAdultNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusBoat.minibusBoatAdultNetTwoWays}}
{{prices.minibusBoat.minibusBoatAdultNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatAdultNetTwoWays}}
{{prices.minibusSpeedboat.minibusSpeedboatAdultNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultNetTwoWays}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiAdultNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
<tr>
<td>Детский в одну сторону</td>
<td><span data-field="prices">
{{#if prices.minibus.minibusChildOneWay}}
{{prices.minibus.minibusChildOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusBoat.minibusBoatChildOneWay}}
{{prices.minibusBoat.minibusBoatChildOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatChildOneWay}}
{{prices.minibusSpeedboat.minibusSpeedboatChildOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildOneWay}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
<tr>
<td>Детский в одну сторону (NET)</td>
<td><span data-field="prices">
{{#if prices.minibus.minibusChildNetOneWay}}
{{prices.minibus.minibusChildNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusBoat.minibusBoatChildNetOneWay}}
{{prices.minibusBoat.minibusBoatChildNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatChildNetOneWay}}
{{prices.minibusSpeedboat.minibusSpeedboatChildNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildNetOneWay}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildNetOneWay}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
<tr>
<td>Детский в обе стороны</td>
<td><span data-field="prices">
{{#if prices.minibus.minibusChildTwoWays}}
{{prices.minibus.minibusChildTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusBoat.minibusBoatChildTwoWays}}
{{prices.minibusBoat.minibusBoatChildTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatChildTwoWays}}
{{prices.minibusSpeedboat.minibusSpeedboatChildTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildTwoWays}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
<tr>
<td>Детский в обе стороны (NET)</td>
<td><span data-field="prices" id="prices.minibus.minibusChildNetTwoWays">
{{#if prices.minibus.minibusChildNetTwoWays}}
{{prices.minibus.minibusChildNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices" id="prices.minibusBoat.minibusBoatChildNetTwoWays">
{{#if prices.minibusBoat.minibusBoatChildNetTwoWays}}
{{prices.minibusBoat.minibusBoatChildNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboat.minibusSpeedboatChildNetTwoWays}}
{{prices.minibusSpeedboat.minibusSpeedboatChildNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
<td><span data-field="prices">
{{#if prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildNetTwoWays}}
{{prices.minibusSpeedboatTaxi.minibusSpeedboatTaxiChildNetTwoWays}}
{{else}}
<p>XXXXX</p>
{{/if}}
</span></td>
</tr>
</tbody>
<!-- <tfoot>
<tr>
<td colspan="5" class="text-center">Data retrieved from <a href="http://www.infoplease.com/ipa/A0855611.html" target="_blank">infoplease</a> and <a href="http://www.worldometers.info/world-population/population-by-country/" target="_blank">worldometers</a>.</td>
</tr>
</tfoot> -->
</table>
</div>
<!--end of .table-responsive-->
</div>
</p>
</div>
</div>
</div>
</div>
</div>
{{/ each}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment