<commit_before>function boomUrlEditor(page) {
	this.page = page;
	this.list_url = '/cms/page/urls/' + this.page.id;

	boomUrlEditor.prototype.add = function() {
		var url = new boomPageUrl(),
			urlEditor = this;

		url.add(this.page.id)
			.done(function(response) {
				new boomNotification('Url added.');

				urlEditor.dialog.contents.load(urlEditor.list_url);
			});
	};

	boomUrlEditor.prototype.bind = function() {
		var urlEditor = this,
			page = this.page;

		this.dialog.contents
			.on('change', '.b-urls-primary', function() {
				var $url = $(this).closest('li'),
					is_primary = $url.find('.b-urls-primary').is(':checked')? 1 : 0;

				if (is_primary) {
					urlEditor.makePrimary($url);

					var history = new boomHistory();
					history.replaceState({}, top.window.document.title, $url.find('label').text());
				}
			})
			.on('click', '.b-urls-remove', function(e) {
				e.preventDefault();

				urlEditor.delete($(e.target).closest('li'));
			});
	};

	boomUrlEditor.prototype.delete = function($li) {
		var id = $li.data('id'),
			url = new boomPageUrl(id);

		url.delete()
			.done(function() {
				$li.remove();

				new boomNotification("The specified URL has been deleted.")
			});
	};

	boomUrlEditor.prototype.open = function() {
		var urlEditor = this,
			page = this.page;

		this.dialog = new boomDialog({
			url: this.list_url,
			title: 'URL Editor',
			width: 800,
			cancelButton : false,
			buttons: [
				{
					text : 'Add URL',
					title : 'Add URL',
					id : 'b-page-urls-add',
					class : 'b-button',
					icons: {primary : 'b-button-icon b-button-icon-add'},
					click: function() {
						urlEditor.add();
					}
				}
			],<commit_msg>Bugfix: missing semi-colon in URL editor<commit_after>function boomUrlEditor(page) {
	this.page = page;
	this.list_url = '/cms/page/urls/' + this.page.id;

	boomUrlEditor.prototype.add = function() {
		var url = new boomPageUrl(),
			urlEditor = this;

		url.add(this.page.id)
			.done(function(response) {
				new boomNotification('Url added.');

				urlEditor.dialog.contents.load(urlEditor.list_url);
			});
	};

	boomUrlEditor.prototype.bind = function() {
		var urlEditor = this,
			page = this.page;

		this.dialog.contents
			.on('change', '.b-urls-primary', function() {
				var $url = $(this).closest('li'),
					is_primary = $url.find('.b-urls-primary').is(':checked')? 1 : 0;

				if (is_primary) {
					urlEditor.makePrimary($url);

					var history = new boomHistory();
					history.replaceState({}, top.window.document.title, $url.find('label').text());
				}
			})
			.on('click', '.b-urls-remove', function(e) {
				e.preventDefault();

				urlEditor.delete($(e.target).closest('li'));
			});
	};

	boomUrlEditor.prototype.delete = function($li) {
		var id = $li.data('id'),
			url = new boomPageUrl(id);

		url.delete()
			.done(function() {
				$li.remove();

				new boomNotification("The specified URL has been deleted.");
			});
	};

	boomUrlEditor.prototype.open = function() {
		var urlEditor = this,
			page = this.page;

		this.dialog = new boomDialog({
			url: this.list_url,
			title: 'URL Editor',
			width: 800,
			cancelButton : false,
			buttons: [
				{
					text : 'Add URL',
					title : 'Add URL',
					id : 'b-page-urls-add',
					class : 'b-button',
					icons: {primary : 'b-button-icon b-button-icon-add'},
					click: function() {
						urlEditor.add();
					}
				}
			],
{'fraction_non_alphanumeric': 0.17991755005889282, 'fraction_numerical': 0.002944640753828033, 'mean_word_length': 2.9545983701979046, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2207294', 'n_tokens_mistral': 1449, 'n_tokens_neox': 1171, 'n_words': 223}