Расширенный поиск в форме поиска

master
Alexander Kondratyev 9 years ago
parent 7121559a8f
commit 4f508b3b40
  1. 12
      trademark/static/trademark/js/form.js
  2. 36
      trademark/static/trademark/js/modal.js
  3. 9
      trademark/static/trademark/js/result.js
  4. 8
      trademark/templates/trademark/form.html
  5. 4
      trademark/templates/trademark/modal.html

@ -1,4 +1,6 @@
TrademarkSearchForm = (function(searchContainer){ TrademarkSearchForm = (function(searchContainer){
var advanced_form_scope = angular.element($('.trademark-search-advanced-form')).scope();
function send () { function send () {
var request = $(searchContainer + " .trademark-search-request").val(), var request = $(searchContainer + " .trademark-search-request").val(),
$form = $(searchContainer + ' .trademark-search-form'), $form = $(searchContainer + ' .trademark-search-form'),
@ -6,6 +8,7 @@ TrademarkSearchForm = (function(searchContainer){
$status_list = $(searchContainer + ' .trademark-search-loading-status'), $status_list = $(searchContainer + ' .trademark-search-loading-status'),
$count = $(searchContainer + ' .trademark-search-count'), $count = $(searchContainer + ' .trademark-search-count'),
$title = $(searchContainer + ' .trademark-search-request-value'), $title = $(searchContainer + ' .trademark-search-request-value'),
$advanced_search = $(searchContainer + ' .trademark-search-advanced-form'),
$sending = $(searchContainer + ' .trademark-search-sending'), $sending = $(searchContainer + ' .trademark-search-sending'),
$identity = $(searchContainer + ' .trademark-search-identity'), $identity = $(searchContainer + ' .trademark-search-identity'),
$contains = $(searchContainer + ' .trademark-search-contains'), $contains = $(searchContainer + ' .trademark-search-contains'),
@ -61,10 +64,13 @@ TrademarkSearchForm = (function(searchContainer){
} }
if(completed || almost_completed) { if((completed || almost_completed) && advanced_form_scope.opened == false) {
document.location.href = tm_url; document.location.href = tm_url + "#?nices=" + advanced_form_scope.classes_values.join(',');
} else { } else {
if (completed || almost_completed) {
advanced_form_scope.tm_url = tm_url;
}
iteration += 1; iteration += 1;
setTimeout(function () { setTimeout(function () {
get_status(slug); get_status(slug);
@ -95,6 +101,7 @@ TrademarkSearchForm = (function(searchContainer){
{ 'keyword': request}).done(function(data) { { 'keyword': request}).done(function(data) {
var tm_count = Math.floor(Math.random() * (3000000 - 1000000) + 1000000); var tm_count = Math.floor(Math.random() * (3000000 - 1000000) + 1000000);
$(searchContainer + ' .trademark-search-count-number').text(tm_count.toLocaleString() + ' знаков') $(searchContainer + ' .trademark-search-count-number').text(tm_count.toLocaleString() + ' знаков')
$advanced_search.show();
$count.show(500); $count.show(500);
$identity.delay(3000).show(500); $identity.delay(3000).show(500);
$contains.delay(6000).show(500); $contains.delay(6000).show(500);
@ -108,7 +115,6 @@ TrademarkSearchForm = (function(searchContainer){
}) })
.always(function(data) { .always(function(data) {
$sending.hide() $sending.hide()
}); });
} }

@ -7,6 +7,7 @@ angular.module('zuykov')
$scope.classes_values = selected_nices ? selected_nices.split(',') : []; $scope.classes_values = selected_nices ? selected_nices.split(',') : [];
$scope.classes = $scope.classes_values.length; $scope.classes = $scope.classes_values.length;
$scope.animationsEnabled = true; $scope.animationsEnabled = true;
$scope.opened = false;
$scope.open = function (form_id) { $scope.open = function (form_id) {
@ -16,11 +17,35 @@ angular.module('zuykov')
controller: 'ModalTrademarkSearchInstanceCtrl', controller: 'ModalTrademarkSearchInstanceCtrl',
windowClass: 'trademark-search-modal' windowClass: 'trademark-search-modal'
}); });
$scope.opened = true;
$scope.tm_url = false;
modalInstance.result.then(function (selectedItem) { modalInstance.result.then(function (classes_values) {
var selected_nices = $location.search().nices || false; var selected_nices = $location.search().nices || false;
$scope.classes_values = selected_nices ? selected_nices.split(',') : [];
$scope.classes_values = classes_values;
$scope.classes = $scope.classes_values.length; $scope.classes = $scope.classes_values.length;
console.log($scope.classes_values, $scope.classes);
$scope.opened = false;
if (typeof(searchResults) != "undefined") {
$.urlParamUpdate('nices', $scope.classes_values.join(','));
searchResults.expand();
}
if (typeof(searchResults) == 'undefined' && $scope.tm_url != false) {
document.location.href = $scope.tm_url + "#?nices=" + $scope.classes_values.join(',');
}
console.log('load');
}, function () {
$scope.opened = false;
console.log('cancle');
if (typeof(searchResults) == 'undefined' && $scope.tm_url != false) {
document.location.href = $scope.tm_url + "#?nices=" + $scope.classes_values.join(',');
}
}); });
}; };
@ -37,13 +62,8 @@ angular.module('zuykov')
$scope.categories = nicesCategories; $scope.categories = nicesCategories;
$scope.GetNoun = GetNoun; $scope.GetNoun = GetNoun;
$scope.ok = function () { $scope.ok = function () {
$.urlParamUpdate('nices', $scope.classes_values.join(',')); $modalInstance.close($scope.classes_values);
searchResults.expand();
$modalInstance.close('params');
}; };
$scope.cancel = function () { $scope.cancel = function () {

@ -1,4 +1,5 @@
TrademarkSearchResult = (function (resultContainer) { TrademarkSearchResult = (function (resultContainer) {
var all_count = 0;
var total_count = 0; var total_count = 0;
function prepare_nice_products ($nice) { function prepare_nice_products ($nice) {
@ -11,13 +12,13 @@ TrademarkSearchResult = (function (resultContainer) {
} }
function prepare_load_more ($container, display_classes) { function prepare_load_more ($container, display_classes) {
var all_count = $container.find(".load-more-result").size(), var results_count = $container.find(".load-more-result.filtered").size(),
results_count = $container.find(".load-more-result.filtered").size(),
showed = 6, showed = 6,
$this = $container, $this = $container,
$count = $container.find('.load-more-count'), $count = $container.find('.load-more-count'),
$detail_count = $container.find(".trademark-search-results-detail-count"); $detail_count = $container.find(".trademark-search-results-detail-count");
all_count = $container.find(".load-more-result").size();
total_count += results_count; total_count += results_count;
function update_count() { function update_count() {
@ -80,7 +81,7 @@ TrademarkSearchResult = (function (resultContainer) {
$(resultContainer + ' .trademark-search-flush-filter').click(function () { $(resultContainer + ' .trademark-search-flush-filter').click(function () {
$.urlParamUpdate('nices', ''); $.urlParamUpdate('nices', '');
scope = angular.element($('.trademark-search-form')).scope(); scope = angular.element($('.trademark-search-advanced-form')).scope();
scope.$apply(function () { scope.$apply(function () {
scope.classes_values = []; scope.classes_values = [];
scope.classes = 0; scope.classes = 0;
@ -95,6 +96,7 @@ TrademarkSearchResult = (function (resultContainer) {
var trademarkSearchFilter = selected_nices ? selected_nices.split(',') : []; var trademarkSearchFilter = selected_nices ? selected_nices.split(',') : [];
var display_css_classes = trademarkSearchFilter.length == 0 ? resultContainer + ' .load-more-result' : resultContainer + ' .c' + trademarkSearchFilter.join(', ' + resultContainer +' .c'); var display_css_classes = trademarkSearchFilter.length == 0 ? resultContainer + ' .load-more-result' : resultContainer + ' .c' + trademarkSearchFilter.join(', ' + resultContainer +' .c');
all_count = 0;
total_count = 0; total_count = 0;
$(resultContainer + ' .load-more').unbind('click'); $(resultContainer + ' .load-more').unbind('click');
@ -106,7 +108,6 @@ TrademarkSearchResult = (function (resultContainer) {
prepare_load_more($(this)); prepare_load_more($(this));
}); });
console.log(total_count);
if (total_count == 0) { if (total_count == 0) {
$(resultContainer + ' .trademark-search-results-null').css('display', 'block'); $(resultContainer + ' .trademark-search-results-null').css('display', 'block');
} else { } else {

@ -12,7 +12,7 @@
<div class="trademark-search-loading"> <div class="trademark-search-loading">
<div class="trademark-search-loading-header">Поиск знака «<strong class="trademark-search-request-value">Coca-cola</strong>» <div class="trademark-search-loading-header">Поиск знака «<strong class="trademark-search-request-value">Coca-cola</strong>»
<div class="spinner"> <div class="spinner">
<div class="rect1"></div> <div class="rect1"></div>
<div class="rect2"></div> <div class="rect2"></div>
<div class="rect3"></div> <div class="rect3"></div>
@ -20,7 +20,11 @@
<div class="rect5"></div> <div class="rect5"></div>
</div> </div>
{% include 'trademark/modal.html' with mode='form' %}
</div> </div>
<ul class="list-unstyled trademark-search-loading-status"> <ul class="list-unstyled trademark-search-loading-status">
<li class="trademark-search-sending"><div class="spinner"> <li class="trademark-search-sending"><div class="spinner">
<div class="rect1"></div> <div class="rect1"></div>
@ -71,6 +75,8 @@
</div> </div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
$(function() { $(function() {
var searchForm = TrademarkSearchForm('.trademark-search'); var searchForm = TrademarkSearchForm('.trademark-search');

@ -1,5 +1,5 @@
{% load i18n menu_tags cms_tags %} {% load i18n menu_tags cms_tags %}
<div class="trademark-search-form" ng-controller="ModalTrademarkSearchCtrl"> <div class="trademark-search-advanced-form" ng-controller="ModalTrademarkSearchCtrl">
<script type="text/ng-template" id="modalTrademarkSearchTemplate.html"> <script type="text/ng-template" id="modalTrademarkSearchTemplate.html">
<div class="modal-body trademark-search-modal"> <div class="modal-body trademark-search-modal">
<h1>Проверка товарного знака на регистрацию</h1> <h1>Проверка товарного знака на регистрацию</h1>
@ -79,7 +79,7 @@
</div> </div>
{% endverbatim %} {% endverbatim %}
<div> <div>
<button class="btn btn-primary btn-xs" ng-click="open();" value="">Расширенный поиск</button> — для того, чтобы уточнить классы МКТУ, регистрацию в которых хотите проверить. <button class="btn btn-primary btn-xs" ng-click="open();" value="">Расширенный поиск</button>{% if mode != 'form' %} — чтобы уточнить классы МКТУ, регистрацию в которых хотите проверить. {% endif %}

Loading…
Cancel
Save