Merge branch 'master' of https://bitbucket.org/pensare/dbois
This commit is contained in:
@@ -32,3 +32,4 @@ user_guide_src/cilexer/pycilexer.egg-info/*
|
||||
/resources
|
||||
/.env
|
||||
/themeforest
|
||||
/documents
|
||||
|
||||
@@ -89,7 +89,7 @@ $autoload['drivers'] = array();
|
||||
|
|
||||
| $autoload['helper'] = array('url', 'file');
|
||||
*/
|
||||
$autoload['helper'] = array();
|
||||
$autoload['helper'] = array('common');
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
|
||||
@@ -29,41 +29,41 @@ class customersController extends MY_Controller {
|
||||
|
||||
public function getAllCustomers( $archive = 'F' )
|
||||
{
|
||||
$users = Customer::getAllCustomers( $archive );
|
||||
$customers = Customer::getAllCustomers( $archive );
|
||||
|
||||
$this->json( $users );
|
||||
$this->json( $customers );
|
||||
}
|
||||
|
||||
public function saveCustomer()
|
||||
{
|
||||
$userValidation = new CustomerValidation();
|
||||
$customerValidation = new CustomerValidation();
|
||||
|
||||
if ( ! $userValidation->getValidationResult() )
|
||||
if ( ! $customerValidation->getValidationResult() )
|
||||
return $this->json( [
|
||||
'success' => FALSE, 'messages' => $userValidation->getErrorMessages()] );
|
||||
'success' => FALSE, 'messages' => $customerValidation->getErrorMessages()] );
|
||||
|
||||
$user = $this->input->post();
|
||||
$customer = $this->input->post();
|
||||
|
||||
$userID = $user['id'];
|
||||
unset( $user['id'] );
|
||||
$customerID = $customer['id'];
|
||||
unset( $customer['id'] );
|
||||
|
||||
$userID = Customer::saveCustomer( $userID, $user );
|
||||
$customerID = Customer::saveCustomer( $customerID, $customer );
|
||||
|
||||
$this->json( ['success' => TRUE, 'userID' => $userID] );
|
||||
$this->json( ['success' => TRUE, 'customerID' => $customerID] );
|
||||
}
|
||||
|
||||
public function archiveCustomer( $userID, $status )
|
||||
public function archiveCustomer( $customerID, $status )
|
||||
{
|
||||
Customer::whereId( $userID )->update( ['archive' => $status] );
|
||||
Customer::whereId( $customerID )->update( ['archive' => $status] );
|
||||
}
|
||||
|
||||
public function removeCustomer( $userID )
|
||||
public function removeCustomer( $customerID )
|
||||
{
|
||||
$removeCustomer = new RemoveCustomer( $userID );
|
||||
$removeCustomer = new RemoveCustomer( $customerID );
|
||||
|
||||
if ( $removeCustomer->getAllowDelete() === FALSE ) return $this->json( ['result' => FALSE] );
|
||||
|
||||
Customer::removeCustomer( $userID );
|
||||
Customer::removeCustomer( $customerID );
|
||||
|
||||
$this->json( ['result' => TRUE] );
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 14:20
|
||||
*/
|
||||
|
||||
class CommentsController extends MY_Controller {
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if ( AUTHENTICATED == FALSE ) die( 'NO ACCESS' );
|
||||
|
||||
$models = [];
|
||||
$libraries = [];
|
||||
|
||||
$this->load->model( $models );
|
||||
$this->load->library( $libraries );
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function getComments( $foreignID, $tablename )
|
||||
{
|
||||
$comments = Comment::getComments( $foreignID, $tablename );
|
||||
|
||||
$this->json( $comments );
|
||||
}
|
||||
|
||||
public function getComment( $commentID )
|
||||
{
|
||||
$comment = Comment::find( $commentID );
|
||||
|
||||
$comment->comment = base64_decode( $comment->comment );
|
||||
|
||||
$this->json( $comment );
|
||||
}
|
||||
|
||||
public function addComment( $foreignID, $tablename )
|
||||
{
|
||||
$commentID = Comment::addComment( $foreignID, $tablename );
|
||||
|
||||
$this->json( $commentID );
|
||||
}
|
||||
|
||||
public function saveComment( $commentID )
|
||||
{
|
||||
$comment = $this->input->post( 'comment' );
|
||||
|
||||
$comment = base64_encode( $comment );
|
||||
|
||||
Comment::whereId( $commentID )->update( ['comment' => $comment] );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 20:22
|
||||
*/
|
||||
|
||||
class DocumentsController extends MY_Controller {
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if ( AUTHENTICATED == FALSE ) die( 'NO ACCESS' );
|
||||
|
||||
$models = [];
|
||||
$libraries = [];
|
||||
|
||||
$this->load->model( $models );
|
||||
$this->load->library( $libraries );
|
||||
}
|
||||
|
||||
public function getDocuments( $foreignID, $tablename )
|
||||
{
|
||||
$documents = Document::getDocuments( $foreignID, $tablename );
|
||||
|
||||
$this->json( $documents );
|
||||
}
|
||||
|
||||
public function downloadDocument( $documentID )
|
||||
{
|
||||
$this->load->helper( 'download' );
|
||||
|
||||
$document = Document::find( $documentID );
|
||||
|
||||
$data = file_get_contents( MYROOTPATH . 'documents/' . $document->storagename );
|
||||
|
||||
force_download( $document->originalname, $data );
|
||||
}
|
||||
|
||||
public function removeDocument( $documentID )
|
||||
{
|
||||
$document = Document::find( $documentID );
|
||||
|
||||
unlink( MYROOTPATH . 'documents/' . $document->storagename );
|
||||
|
||||
Document::whereId( $documentID )->delete();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -11,6 +11,8 @@ class OffersController extends MY_Controller {
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if ( AUTHENTICATED == FALSE ) die( 'NO ACCESS' );
|
||||
|
||||
$models = [];
|
||||
@@ -27,41 +29,41 @@ class OffersController extends MY_Controller {
|
||||
|
||||
public function getAllOffers( $archive = 'F' )
|
||||
{
|
||||
$users = Offer::getAllOffers( $archive );
|
||||
$offers = Offer::getAllOffers( $archive );
|
||||
|
||||
$this->json( $users );
|
||||
$this->json( $offers );
|
||||
}
|
||||
|
||||
public function saveOffer()
|
||||
{
|
||||
$userValidation = new OfferValidation();
|
||||
$offerValidation = new OfferValidation();
|
||||
|
||||
if ( ! $userValidation->getValidationResult() )
|
||||
if ( ! $offerValidation->getValidationResult() )
|
||||
return $this->json( [
|
||||
'success' => FALSE, 'messages' => $userValidation->getErrorMessages()] );
|
||||
'success' => FALSE, 'messages' => $offerValidation->getErrorMessages()] );
|
||||
|
||||
$user = $this->input->post();
|
||||
$offer = $this->input->post();
|
||||
|
||||
$userID = $user['id'];
|
||||
unset( $user['id'] );
|
||||
$offerID = $offer['id'];
|
||||
unset( $offer['id'] );
|
||||
|
||||
$userID = Offer::saveOffer( $userID, $user );
|
||||
$offerID = Offer::saveOffer( $offerID, $offer );
|
||||
|
||||
$this->json( ['success' => TRUE, 'userID' => $userID] );
|
||||
$this->json( ['success' => TRUE, 'offerID' => $offerID] );
|
||||
}
|
||||
|
||||
public function archiveOffer( $userID, $status )
|
||||
public function archiveOffer( $offerID, $status )
|
||||
{
|
||||
Offer::whereId( $userID )->update( ['archive' => $status] );
|
||||
Offer::whereId( $offerID )->update( ['archive' => $status] );
|
||||
}
|
||||
|
||||
public function removeOffer( $userID )
|
||||
public function removeOffer( $offerID )
|
||||
{
|
||||
$removeOffer = new RemoveOffer( $userID );
|
||||
$removeOffer = new RemoveOffer( $offerID );
|
||||
|
||||
if ( $removeOffer->getAllowDelete() === FALSE ) return $this->json( ['result' => FALSE] );
|
||||
|
||||
Offer::removeOffer( $userID );
|
||||
Offer::removeOffer( $offerID );
|
||||
|
||||
$this->json( ['result' => TRUE] );
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
defined( 'BASEPATH' ) OR exit( 'No direct script access allowed' );
|
||||
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 05/01/2018
|
||||
* Time: 15:03
|
||||
*/
|
||||
class ProjectsController extends MY_Controller {
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if ( AUTHENTICATED == FALSE ) die( 'NO ACCESS' );
|
||||
|
||||
$models = [];
|
||||
$libraries = [];
|
||||
|
||||
$this->load->model( $models );
|
||||
$this->load->library( $libraries );
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function getAllProjects( $archive = 'F' )
|
||||
{
|
||||
$projects = Project::getAllProjects( $archive );
|
||||
|
||||
$this->json( $projects );
|
||||
}
|
||||
|
||||
public function saveProject()
|
||||
{
|
||||
$projectValidation = new ProjectValidation();
|
||||
|
||||
if ( ! $projectValidation->getValidationResult() )
|
||||
return $this->json( [
|
||||
'success' => FALSE, 'messages' => $projectValidation->getErrorMessages()] );
|
||||
|
||||
$project = $this->input->post();
|
||||
|
||||
$projectID = $project['id'];
|
||||
unset( $project['id'] );
|
||||
|
||||
$projectID = Project::saveProject( $projectID, $project );
|
||||
|
||||
$this->json( ['success' => TRUE, 'projectID' => $projectID] );
|
||||
}
|
||||
|
||||
public function archiveProject( $projectID, $status )
|
||||
{
|
||||
Project::whereId( $projectID )->update( ['archive' => $status] );
|
||||
}
|
||||
|
||||
public function removeProject( $projectID )
|
||||
{
|
||||
$removeProject = new RemoveProject( $projectID );
|
||||
|
||||
if ( $removeProject->getAllowDelete() === FALSE ) return $this->json( ['result' => FALSE] );
|
||||
|
||||
Project::removeProject( $projectID );
|
||||
|
||||
$this->json( ['result' => TRUE] );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 19:03
|
||||
*/
|
||||
|
||||
class FileUpload extends MY_Controller {
|
||||
|
||||
private $storagename;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if ( AUTHENTICATED == FALSE ) die( 'NO ACCESS' );
|
||||
|
||||
$models = [];
|
||||
$libraries = [];
|
||||
|
||||
$this->load->model( $models );
|
||||
$this->load->library( $libraries );
|
||||
}
|
||||
|
||||
public function upload( $foreignID, $tablename )
|
||||
{
|
||||
$config['upload_path'] = MYROOTPATH . 'documents/temp';
|
||||
$config['allowed_types'] = '*';
|
||||
$config['remove_spaces'] = FALSE;
|
||||
|
||||
$this->load->library( 'upload', $config );
|
||||
|
||||
if ( ! $this->upload->do_upload( 'userfile' ) )
|
||||
{
|
||||
$error = ['error' => $this->upload->display_errors()];
|
||||
|
||||
$this->json( $error );
|
||||
}
|
||||
else
|
||||
{
|
||||
$data = ['upload_data' => $this->upload->data()];
|
||||
|
||||
$this->setStoragename();
|
||||
|
||||
$this->persistDocument( $data['upload_data'], $foreignID, $tablename );
|
||||
|
||||
$this->renameDocument( $data['upload_data']['full_path'] );
|
||||
}
|
||||
}
|
||||
|
||||
private function setStoragename()
|
||||
{
|
||||
$this->load->helper( 'string' );
|
||||
$this->storagename = sha1( random_string( 'alnum', 16 ) );
|
||||
}
|
||||
|
||||
private function persistDocument( $data, $foreignID, $tablename )
|
||||
{
|
||||
$file = [
|
||||
'storagename' => $this->storagename,
|
||||
'originalname' => $data['file_name'],
|
||||
'user_id' => USERID,
|
||||
'uploaddate' => date( 'Y-m-d H:i:s' ),
|
||||
'foreign_id' => $foreignID,
|
||||
'foreign_table' => $tablename
|
||||
];
|
||||
|
||||
Document::create( $file );
|
||||
}
|
||||
|
||||
private function renameDocument( $original )
|
||||
{
|
||||
rename( $original, MYROOTPATH . 'documents/' . $this->storagename );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,306 @@
|
||||
<?php
|
||||
/**
|
||||
* Dump helper. Functions to dump variables to the screen, in a nicley formatted manner.
|
||||
* @author Joost van Veen
|
||||
* @version 1.0
|
||||
*/
|
||||
if ( ! function_exists( 'dump' ) )
|
||||
{
|
||||
function dump( $var, $label = 'Dump', $echo = TRUE )
|
||||
{
|
||||
// Store dump in variable
|
||||
ob_start();
|
||||
var_dump( $var );
|
||||
$output = ob_get_clean();
|
||||
|
||||
// Add formatting
|
||||
$output = preg_replace( "/]=>n(s+)/m", "] => ", $output );
|
||||
$output = '<pre style="background: #FFFEEF; color: #000; border: 1px dotted #000; padding: 10px; margin: 10px 0; text-align: left;">' . $label . ' => ' . $output . '</pre>';
|
||||
|
||||
// Output
|
||||
if ( $echo == TRUE )
|
||||
{
|
||||
echo $output;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'dump_exit' ) )
|
||||
{
|
||||
function dump_exit( $var, $label = 'Dump', $echo = TRUE )
|
||||
{
|
||||
dump( $var, $label, $echo );
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function mysql2text( $message )
|
||||
{
|
||||
$regeleinden = ['\r\n', '\r', '\n'];
|
||||
$message = str_replace( $regeleinden, chr( 13 ), $message );
|
||||
$message = stripslashes( $message );
|
||||
|
||||
return ( $message );
|
||||
}
|
||||
|
||||
function mysql2html( $message )
|
||||
{
|
||||
$regeleinden = ['\r\n', '\r', '\n'];
|
||||
$message = str_replace( $regeleinden, "<br />", $message );
|
||||
$message = stripslashes( $message );
|
||||
|
||||
return ( $message );
|
||||
}
|
||||
|
||||
function textarea2html( $message )
|
||||
{
|
||||
$regeleinden = [chr( 13 )];
|
||||
$message = str_replace( $regeleinden, "<br />", $message );
|
||||
$message = stripslashes( $message );
|
||||
|
||||
return ( $message );
|
||||
}
|
||||
|
||||
function date2mysql( $date )
|
||||
{
|
||||
if ( ! check_date( $date ) ) return NULL;
|
||||
|
||||
return date( 'Y-m-d', strtotime( $date ) );
|
||||
}
|
||||
|
||||
function mysql2date( $date )
|
||||
{
|
||||
if ( ! check_date( $date ) ) return '';
|
||||
|
||||
return date( 'd-m-Y', strtotime( $date ) );
|
||||
}
|
||||
|
||||
function mysql2dateWithTime( $date )
|
||||
{
|
||||
if ( ! check_date( $date ) ) return '';
|
||||
|
||||
return date( 'd-m-Y H:i:s', strtotime( $date ) );
|
||||
}
|
||||
|
||||
function check_date( $date )
|
||||
{
|
||||
if ( is_null( $date ) || ( strlen( $date ) < 6 ) ) return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function mysql2timestamp( $date )
|
||||
{
|
||||
$a = strptime( $date, '%Y-%m-%d' );
|
||||
$timestamp = mktime( 0, 0, 0, $a['tm_mon'] + 1, $a['tm_mday'], $a['tm_year'] + 1900 );
|
||||
|
||||
return $timestamp;
|
||||
}
|
||||
|
||||
function readTextFromStorage( $text )
|
||||
{
|
||||
return base64_decode( $text );
|
||||
}
|
||||
|
||||
function cleanTextForStorage( $text )
|
||||
{
|
||||
$text = str_replace( '/r/n', '', $text );
|
||||
$text = str_replace( '\r\n', '', $text );
|
||||
$text = str_replace( '/n', '', $text );
|
||||
$text = str_replace( '\n', '', $text );
|
||||
$text = strip_slashes( $text );
|
||||
|
||||
return base64_encode( $text );
|
||||
}
|
||||
|
||||
function setTextareaForStorage( $text )
|
||||
{
|
||||
$text = setTextArea( $text );
|
||||
|
||||
return base64_encode( $text );
|
||||
}
|
||||
|
||||
function setTextArea( $text )
|
||||
{
|
||||
$text = str_replace( '/r/n', chr( 13 ), $text );
|
||||
$text = str_replace( '\r\n', chr( 13 ), $text );
|
||||
$text = str_replace( '/n', chr( 13 ), $text );
|
||||
$text = str_replace( '\n', chr( 13 ), $text );
|
||||
$text = str_replace( '\r', chr( 13 ), $text );
|
||||
$text = str_replace( '/r', chr( 13 ), $text );
|
||||
$text = str_replace( '\n\n', chr( 13 ) . chr( 13 ), $text );
|
||||
$text = strip_slashes( $text );
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
function setTextAreaHtml( $text )
|
||||
{
|
||||
$text = str_replace( '/r/n', '<br />', $text );
|
||||
$text = str_replace( '\r\n', '<br />', $text );
|
||||
$text = str_replace( '/n', '<br />', $text );
|
||||
$text = str_replace( '\n', '<br />', $text );
|
||||
$text = str_replace( '\r', '<br />', $text );
|
||||
$text = str_replace( '/r', '<br />', $text );
|
||||
$text = str_replace( '\n\n', '<br /><br />', $text );
|
||||
$text = strip_slashes( $text );
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
function checkBsn( $bsn )
|
||||
{
|
||||
if ( strlen( $bsn ) < 8 || strlen( $bsn ) > 9 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$sum = 0;
|
||||
$counter = strlen( $bsn );
|
||||
$pos = 0;
|
||||
for ( $i = $counter; $i > 0; $i -- )
|
||||
{
|
||||
if ( $i == 1 )
|
||||
{
|
||||
$sum = $sum + intval( $bsn{$pos} ) * - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$sum = $sum + ( intval( $bsn{$pos} ) * $i );
|
||||
}
|
||||
$pos ++;
|
||||
}
|
||||
if ( $sum % 11 != 0 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate an object property
|
||||
*
|
||||
* @param object $in
|
||||
* @param string $property Can be NULL, in that case the first parameter is evaluated
|
||||
* @param boolean $zeroAllowed ,
|
||||
* default FALSE
|
||||
*
|
||||
* @return boolean TRUE if the property exists ans in not null or empty
|
||||
*/
|
||||
function isNotNullOrEmpty( $in, $property = NULL, $zeroAllowed = FALSE )
|
||||
{
|
||||
if ( $property === NULL )
|
||||
{
|
||||
|
||||
if ( is_object( $in ) && count( (array) $in ) === 0 )
|
||||
return FALSE;
|
||||
$isNotEmpty = $zeroAllowed ? ! empty ( $in ) : $in === 0 || $in === '0' || ! empty ( $in );
|
||||
if ( is_string( $in ) )
|
||||
{
|
||||
return $isNotEmpty && strtoupper( $in ) !== 'NULL' && strtoupper( $in ) !== 'FALSE' && strtoupper( $in ) !== 'UNDEFINED';
|
||||
}
|
||||
else
|
||||
{
|
||||
return $isNotEmpty;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! is_object( $in ) )
|
||||
throw new Exception ( 'Provided test $in must be a class instance(object) or a valid classname(string)' );
|
||||
if ( ! property_exists( $in, $property ) )
|
||||
return FALSE;
|
||||
$prop = $in->{$property};
|
||||
$isNotEmpty = $zeroAllowed ? ! empty ( $prop ) : $prop === 0 || $prop === '0' || ! empty ( $prop );
|
||||
if ( is_string( $prop ) )
|
||||
{
|
||||
return $isNotEmpty && strtoupper( $prop ) !== 'NULL' && strtoupper( $prop ) !== 'FALSE' && strtoupper( $prop ) !== 'UNDEFINED';
|
||||
}
|
||||
else
|
||||
{
|
||||
return $isNotEmpty;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate an object property
|
||||
*
|
||||
* @param object $in
|
||||
* @param string $property Can be NULL, in that case the first parameter is evaluated
|
||||
*
|
||||
* @return boolean TRUE if the property exists and is not NULL or empty or zero
|
||||
*/
|
||||
function isNotNullOrEmptyOrZero( $in, $property = NULL )
|
||||
{
|
||||
return isNotNullOrEmpty( $in, $property, TRUE );
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate an object property
|
||||
*
|
||||
* @param object $in
|
||||
* @param string $property Can be NULL, in that case the first parameter is evaluated
|
||||
*
|
||||
* @return boolean TRUE if the property exists and is NULL or empty
|
||||
*/
|
||||
function isNullOrEmpty( $in, $property = NULL )
|
||||
{
|
||||
return ! isNotNullOrEmpty( $in, $property );
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate an object property
|
||||
*
|
||||
* @param object $in
|
||||
* @param string $property Can be NULL, in that case the first parameter is evaluated
|
||||
*
|
||||
* @return boolean TRUE if the property exists and is NULL or empty or zero
|
||||
*/
|
||||
function isNullOrEmptyOrZero( $in, $property = NULL )
|
||||
{
|
||||
return ! isNotNullOrEmpty( $in, $property, TRUE );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param sting|integer $in
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function parseNotNullField( $in )
|
||||
{
|
||||
if ( isNullOrEmpty( $in ) )
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
return (string) $in;
|
||||
}
|
||||
|
||||
|
||||
function unique_multidim_array( $array, $key )
|
||||
{
|
||||
$temp_array = [];
|
||||
$key_array = [];
|
||||
|
||||
foreach ( $array as $val )
|
||||
{
|
||||
$keyValue = is_array( $val ) ? $val[ $key ] : $val->$key;
|
||||
{
|
||||
if ( ! in_array( $keyValue, $key_array ) )
|
||||
{
|
||||
$key_array[] = $keyValue;
|
||||
$temp_array[] = $val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $temp_array;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 27/12/2017
|
||||
* Time: 17:45
|
||||
*/
|
||||
|
||||
class RemoveOffer {
|
||||
|
||||
private $offerID;
|
||||
private $allowDelete = TRUE;
|
||||
|
||||
public function __construct( $userID )
|
||||
{
|
||||
$this->setOfferID( $userID );
|
||||
|
||||
$this->handle();
|
||||
}
|
||||
|
||||
public function getAllowDelete()
|
||||
{
|
||||
return $this->allowDelete;
|
||||
}
|
||||
|
||||
private function setOfferID( $customerID )
|
||||
{
|
||||
$this->offerID = $customerID;
|
||||
}
|
||||
|
||||
private function handle()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -85,8 +85,11 @@ class validation {
|
||||
if ( $this->validation == 'decimal' ) $this->checkDecimal();
|
||||
if ( $this->validation == 'email' ) $this->checkEmail();
|
||||
if ( $this->validation == 'unique' ) $this->checkUnique();
|
||||
if( $this->validation == 'date' ) $this->checkdate();
|
||||
if ( substr( $this->validation, 0, 9 ) == 'minlength' ) $this->checkMinlength();
|
||||
if ( substr( $this->validation, 0, 9 ) == 'maxlength' ) $this->checkMaxlength();
|
||||
if ( substr( $this->validation, 0, 8 ) == 'minvalue' ) $this->checkMinvalue();
|
||||
if ( substr( $this->validation, 0, 8 ) == 'maxvalue' ) $this->checkMaxvalue();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,6 +173,21 @@ class validation {
|
||||
if ( ! $value ) $this->errorMessages[] = 'invoer moet uniek zijn';
|
||||
}
|
||||
|
||||
public function checkDate()
|
||||
{
|
||||
if( empty($this->fieldValue) ) return;
|
||||
|
||||
$dateParts = explode('-', $this->fieldValue);
|
||||
|
||||
if( count($dateParts) != 3) $dateParts = explode('/', $this->fieldValue);
|
||||
|
||||
if( count($dateParts) != 3)
|
||||
return $this->errorMessages[] = 'invoer is geen datum';
|
||||
|
||||
if( ! checkdate($dateParts[1], $dateParts[0], $dateParts[2] ))
|
||||
$this->errorMessages[] = 'invoer is geen datum';
|
||||
}
|
||||
|
||||
private function checkMinlength()
|
||||
{
|
||||
$length = explode( '-', $this->validation );
|
||||
@@ -186,5 +204,21 @@ class validation {
|
||||
$this->errorMessages[] = 'mag maximaal uit ' . $length[1] . ' karakters bestaan';
|
||||
}
|
||||
|
||||
private function checkMinValue()
|
||||
{
|
||||
$value = explode( $this->validation, '-' );
|
||||
|
||||
if( $this->fieldValue < $value[1])
|
||||
$this->errorMessages[] = 'moet minimaal ' . $value[1] . ' zijn';
|
||||
}
|
||||
|
||||
private function checkMaxValue()
|
||||
{
|
||||
$value = explode( $this->validation, '-' );
|
||||
|
||||
if( $this->fieldValue > $value[1])
|
||||
$this->errorMessages[] = 'mag maximaal ' . $value[1] . ' zijn';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/07/16
|
||||
* Time: 13:35
|
||||
*/
|
||||
|
||||
require_once( APPPATH . 'libraries/validation/inputValidations/BaseValidation.php' );
|
||||
|
||||
class OfferValidation extends BaseValidation {
|
||||
|
||||
|
||||
protected $validationFields = [
|
||||
'customer_id' => [
|
||||
'validations' => 'required|numeric',
|
||||
'fieldname' => 'klant'
|
||||
],
|
||||
'startdate' => [
|
||||
'validations' => 'required|date',
|
||||
'fieldname' => 'offertedatum'
|
||||
],
|
||||
'acceptdate' => [
|
||||
'validations' => 'date',
|
||||
'fieldname' => 'acceptatiedatum'
|
||||
],
|
||||
'rejectdate' => [
|
||||
'validations' => 'date',
|
||||
'fieldname' => 'afwijsdatum'
|
||||
],
|
||||
'acceptance_chance' => [
|
||||
'validations' => 'numeric',
|
||||
'fieldname' => 'afwijsdatum|minvalue-0|maxvalue-100'
|
||||
]
|
||||
];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->ci =& get_instance();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/07/16
|
||||
* Time: 13:35
|
||||
*/
|
||||
|
||||
require_once( APPPATH . 'libraries/validation/inputValidations/BaseValidation.php' );
|
||||
|
||||
class ProjectValidation extends BaseValidation {
|
||||
|
||||
|
||||
protected $validationFields = [
|
||||
'name' => [
|
||||
'validations' => 'required|alphaNumericSpaces',
|
||||
'fieldname' => 'projectnaam'
|
||||
]
|
||||
];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->ci =& get_instance();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 14:22
|
||||
*/
|
||||
|
||||
class Comment extends BaseModel {
|
||||
|
||||
protected $table = "comments";
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo( 'User' );
|
||||
}
|
||||
|
||||
public static function getComments( $foreignID, $tablename )
|
||||
{
|
||||
$comments = Comment::orderBy( 'comment_date', 'desc' )
|
||||
->with( [
|
||||
'user' => function ( $q ) {
|
||||
$q->selectRaw( "CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname, id" );
|
||||
}] )
|
||||
->whereForeignId( $foreignID )
|
||||
->whereForeignTable( $tablename )
|
||||
->get();
|
||||
|
||||
foreach ( $comments as $comment )
|
||||
{
|
||||
$comment->comment = base64_decode( $comment->comment );
|
||||
}
|
||||
|
||||
return $comments;
|
||||
}
|
||||
|
||||
public static function addComment( $foreignID, $tablename )
|
||||
{
|
||||
$data = [
|
||||
'foreign_id' => $foreignID,
|
||||
'foreign_table' => $tablename,
|
||||
'user_id' => USERID,
|
||||
'comment_date' => date( 'Y-m-d H:i:s' )
|
||||
];
|
||||
|
||||
$comment = Comment::create( $data );
|
||||
|
||||
return $comment['id'];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 20:02
|
||||
*/
|
||||
|
||||
class Document extends BaseModel {
|
||||
|
||||
protected $table = "documents";
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo( 'User' );
|
||||
}
|
||||
|
||||
public static function getDocuments( $foreignID, $tablename )
|
||||
{
|
||||
$documents = Document::orderBy( 'uploaddate', 'desc' )
|
||||
->with( [
|
||||
'user' => function ( $q ) {
|
||||
$q->selectRaw( "CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname, id" );
|
||||
}] )
|
||||
->whereForeignId( $foreignID )
|
||||
->whereForeignTable( $tablename )
|
||||
->get();
|
||||
|
||||
return $documents;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -6,9 +6,8 @@
|
||||
* Time: 18:05
|
||||
*/
|
||||
|
||||
use \Illuminate\Database\Eloquent\Model as Eloquent;
|
||||
|
||||
class Page extends Eloquent {
|
||||
class Offer extends BaseModel {
|
||||
|
||||
protected $table = "offers";
|
||||
|
||||
@@ -16,4 +15,47 @@ class Page extends Eloquent {
|
||||
{
|
||||
return $this->belongsTo( 'Project' );
|
||||
}
|
||||
|
||||
public function customer()
|
||||
{
|
||||
return $this->belongsTo( 'Customer' );
|
||||
}
|
||||
|
||||
public static function getAllOffers( $archive = 'F' )
|
||||
{
|
||||
$offers = Offer::orderBy('startdate')
|
||||
->with( 'customer' )
|
||||
->with( 'project' );
|
||||
|
||||
if ( $archive == 'F' ) $offers = $offers->whereArchive( 'F' );
|
||||
|
||||
$offers = $offers->get();
|
||||
|
||||
return $offers;
|
||||
}
|
||||
|
||||
public static function saveOffer( $offerID, $offer )
|
||||
{
|
||||
$offer = (array) $offer;
|
||||
|
||||
$offer['startdate'] = date2mysql( $offer['startdate'] );
|
||||
$offer['accepteddate'] = date2mysql( $offer['accepteddate'] );
|
||||
$offer['rejectdate'] = date2mysql( $offer['rejectdate'] );
|
||||
|
||||
if ( $offerID == 0 )
|
||||
{
|
||||
$offer = Offer::create( $offer );
|
||||
}
|
||||
else
|
||||
{
|
||||
$offer = Offer::whereId( $offerID )->update( $offer );
|
||||
}
|
||||
|
||||
return $offer['id'];
|
||||
}
|
||||
|
||||
public static function removeOffer( $offerID )
|
||||
{
|
||||
Offer::whereId($offerID)->delete();
|
||||
}
|
||||
}
|
||||
@@ -6,9 +6,8 @@
|
||||
* Time: 18:05
|
||||
*/
|
||||
|
||||
use \Illuminate\Database\Eloquent\Model as Eloquent;
|
||||
|
||||
class Project extends Eloquent {
|
||||
class Project extends BaseModel {
|
||||
|
||||
protected $table = "projects";
|
||||
|
||||
@@ -16,4 +15,24 @@ class Project extends Eloquent {
|
||||
{
|
||||
return $this->hasMany( 'Offer' );
|
||||
}
|
||||
|
||||
public static function saveProject( $offerID, $offer )
|
||||
{
|
||||
$offer = (array) $offer;
|
||||
|
||||
$offer['startdate'] = date2mysql( $offer['startdate'] );
|
||||
$offer['accepteddate'] = date2mysql( $offer['accepteddate'] );
|
||||
$offer['rejectdate'] = date2mysql( $offer['rejectdate'] );
|
||||
|
||||
if ( $offerID == 0 )
|
||||
{
|
||||
$offer = Offer::create( $offer );
|
||||
}
|
||||
else
|
||||
{
|
||||
$offer = Offer::whereId( $offerID )->update( $offer );
|
||||
}
|
||||
|
||||
return $offer['id'];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<div class="modal modal-fade-in-scale-up modal-primary" tabindex="-1" id="comment-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen commentaar</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<textarea data-bind="froala:comment, froalaOptions:options"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-bind="click:saveComment">opslaan
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">annuleren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -15,31 +15,36 @@
|
||||
<label class="col-xl-3 form-control-label">
|
||||
klant
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="col-xl-8">
|
||||
<div class="input-group input-group-icon">
|
||||
<select class="form-control"
|
||||
data-bind="options:customers
|
||||
optionsValue:id,
|
||||
optionsText:name,
|
||||
value:selectedCustomerID,
|
||||
optionsCaption:selecteer klant"></select>
|
||||
data-bind="options:customers,
|
||||
optionsValue:'id',
|
||||
optionsText:'name',
|
||||
value:customer_id,
|
||||
optionsCaption:'selecteer klant',
|
||||
event:{change:getCustomerProjects}"></select>
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: ! selectedCustomer() ? 'block' : 'none'}">
|
||||
data-bind="style:{display: ! customer_id() ? 'block' : 'none'}">
|
||||
selecteer een klant
|
||||
</small>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<i class="icon fa-plus-square greenish pointer" data-bind="click:addCustomer"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
project
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="col-xl-8">
|
||||
<select class="form-control"
|
||||
data-bind="options:projects,
|
||||
optionsValue: id,
|
||||
optionsText:projectnumber,
|
||||
value:selectedProjectID"
|
||||
optionsValue: 'id',
|
||||
optionsText:'projectnumber',
|
||||
disable: ! customer_id(),
|
||||
value:project_id"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
@@ -49,7 +54,7 @@
|
||||
<label class="col-xl-3 form-control-label">
|
||||
datum offerte
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="col-xl-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
@@ -57,8 +62,13 @@
|
||||
<input type="text"
|
||||
placeholder="datum offerte"
|
||||
class="form-control"
|
||||
data-bind="datepicker:{}, value:startdate">
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' }, value:startdate, css:{'is-invalid': ! offerDateValid()}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: ! offerDateValid() ? 'block' : 'none'}">
|
||||
voer een offerte datum in
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -66,15 +76,17 @@
|
||||
<label class="col-xl-3 form-control-label">
|
||||
kans
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="col-xl-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-question"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="kans"
|
||||
class="form-control"
|
||||
data-bind="textInput:acceptance_chance">
|
||||
class="form-control percentage-input"
|
||||
data-bind="textInput:acceptance_chance,
|
||||
event:{keyup:validateNumber}">
|
||||
<span class="percentage-sign">%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -82,7 +94,7 @@
|
||||
<label class="col-xl-3 form-control-label">
|
||||
acceptatie datum
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="col-xl-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
@@ -90,15 +102,20 @@
|
||||
<input type="text"
|
||||
placeholder="acceptatie datum"
|
||||
class="form-control"
|
||||
data-bind="datepicker:{}, value:accepteddate">
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' }, value:accepteddate, disable:rejectdate()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<span class="icon fa-remove redish pointer"
|
||||
data-bind="visible:accepteddate(), click:resetDate.bind($data, 'accepteddate')"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
afwijsdatum
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="col-xl-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
@@ -106,9 +123,14 @@
|
||||
<input type="email"
|
||||
placeholder="afwijsdatum"
|
||||
class="form-control"
|
||||
data-bind="datepicker:{}, value:rejectdate">
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' }, value:rejectdate, disable:accepteddate()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-1">
|
||||
<span class="icon fa-remove redish pointer"
|
||||
data-bind="visible:rejectdate(), click:resetDate.bind($data, 'rejectdate')"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-8">
|
||||
<div class="col-xl-12">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-8">
|
||||
<div class="col-xl-12">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -13,16 +13,28 @@
|
||||
<th class="table-tealish-header"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:externals">
|
||||
<tr>
|
||||
<td><span data-bind="text:customerName"></span></td>
|
||||
<td><span data-bind="text:pojectNumber"></span></td>
|
||||
<td><span data-bind="text:startdate"></span></td>
|
||||
<td><span data-bind="text:acceptance_chance"></span></td>
|
||||
<td><span data-bind="text:accepted"></span></td>
|
||||
<td><span data-bind="text:rejected"></span></td>
|
||||
<tbody data-bind="foreach:offers">
|
||||
<tr data-bind="css:{'table-info':$root.selectedRowID() == id}">
|
||||
<td data-bind="click:$root.selectOffer" class="pointer">
|
||||
<span data-bind="text:customerName"></span>
|
||||
</td>
|
||||
<td data-bind="click:$root.selectOffer" class="pointer">
|
||||
<span data-bind="text:projectNumber"></span>
|
||||
</td>
|
||||
<td data-bind="click:$root.selectOffer" class="pointer">
|
||||
<span data-bind="text:startdate"></span>
|
||||
</td>
|
||||
<td data-bind="click:$root.selectOffer" class="pointer">
|
||||
<span data-bind="text:acceptance_chance"></span> %
|
||||
</td>
|
||||
<td data-bind="click:$root.selectOffer" class="pointer">
|
||||
<span data-bind="text:accepteddate"></span>
|
||||
</td>
|
||||
<td data-bind="click:$root.selectOffer" class="pointer">
|
||||
<span data-bind="text:rejectdate"></span>
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editExternal"></i>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editOffer"></i>
|
||||
<!-- ko if:archive == 'F' -->
|
||||
<i class="icon fa-archive pointer" title="archiveer"
|
||||
data-bind="click:$root.archiveOffer"></i>
|
||||
@@ -32,7 +44,7 @@
|
||||
data-bind="click:$root.archiveOffer"></i>
|
||||
<!-- /ko -->
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removeOffer"></i>
|
||||
data-bind="click:$root.removeOffer, css:{'whiteish':$root.selectedRowID() == id}"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -66,5 +78,38 @@
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-xl-4">
|
||||
<div class="upload-btn-wrapper" data-bind="visible:selectedRowID()">
|
||||
<button class="upload-btn">voeg bestand toe</button>
|
||||
<input type="file" name="userfile" data-bind="event:{change:addDocument}" id="fileinput"/>
|
||||
</div>
|
||||
<ul class="list-group" data-bind="foreach:documents">
|
||||
<li class="list-group-dividered">
|
||||
<span class="badge badge-info" style="width:100%; text-align:left;">
|
||||
<span data-bind="text:fullname"></span> |
|
||||
<span data-bind="text:uploaddate"></span>
|
||||
</span>
|
||||
<span data-bind="text:originalname"></span>
|
||||
<span style="float:right">
|
||||
<i class="icon fa-download pointer" data-bind="click:$root.downloadDocument"></i>
|
||||
<i class="icon fa-trash redish pointer" data-bind="click:$root.removeFile"></i>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr/>
|
||||
<button data-bind="click:addComment, visible:selectedRowID()" class="upload-btn">
|
||||
voeg commentaar toe
|
||||
</button>
|
||||
<!-- ko foreach: comments -->
|
||||
<div data-bind="click:$root.editComment" class="pointer">
|
||||
<span class="badge badge-info" style="width:100%; text-align:left;">
|
||||
<span data-bind="text:fullname"></span> |
|
||||
<span data-bind="text:comment_date"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div data-bind="html:comment,click:$root.editComment" class="comment-text pointer"></div>
|
||||
<!-- /ko -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-8">
|
||||
<div class="col-xl-12">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
<link rel="stylesheet" href="js/vendor/jquery-ui/jquery-ui.css">
|
||||
<link rel="stylesheet" href="fonts/font-awesome/font-awesome.min.css">
|
||||
|
||||
<link href='js/vendor/froala/css/froala_editor.css' rel='stylesheet' type='text/css' />
|
||||
<link href='js/vendor/froala/css/froala_style.css' type='text/css' />
|
||||
|
||||
<link rel="stylesheet" href="css/vendor/site.min.css">
|
||||
|
||||
<link rel="stylesheet" href="css/vendor/plugins/animsition/animsition.css">
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
<script src="js/vendor/popper-js/umd/popper.min.js"></script>
|
||||
<script src="js/vendor/bootstrap/bootstrap.js"></script>
|
||||
<script src="js/vendor/animsition/animsition.js"></script>
|
||||
|
||||
<script src="js/vendor/froala/js/froala_editor.min.js"></script>
|
||||
<script src="js/vendor/froala/js/plugins/knockout-froala.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<!--<script src="js/vendor/mousewheel/jquery.mousewheel.js"></script>-->
|
||||
<!--<script src="js/vendor/asscrollbar/jquery-asScrollbar.js"></script>-->
|
||||
<!--<script src="js/vendor/asscrollable/jquery-asScrollable.js"></script>-->
|
||||
@@ -57,10 +64,12 @@
|
||||
<script src="js/lib/modules/beheer/usersModule.js"></script>
|
||||
<script src="js/lib/modules/beheer/customersModule.js"></script>
|
||||
<script src="js/lib/modules/beheer/externalsModule.js"></script>
|
||||
<script src="js/lib/modules/projects/offersModule.js"></script>
|
||||
<script src="js/lib/modules/modals/userModal.js"></script>
|
||||
<script src="js/lib/modules/modals/customerModal.js"></script>
|
||||
<script src="js/lib/modules/modals/externalModal.js"></script>
|
||||
<script src="js/lib/modules/modals/offerModal.js"></script>
|
||||
<script src="js/lib/modules/modals/commentModal.js"></script>
|
||||
|
||||
<!---->
|
||||
<script src="js/lib/dataservices/pageDataservice.js"></script>
|
||||
@@ -69,4 +78,6 @@
|
||||
<script src="js/lib/dataservices/externalDataservice.js"></script>
|
||||
<script src="js/lib/dataservices/rolesDataservice.js"></script>
|
||||
<script src="js/lib/dataservices/offerDataservice.js"></script>
|
||||
<script src="js/lib/dataservices/commentsDataservice.js"></script>
|
||||
<script src="js/lib/dataservices/documentsDataservice.js"></script>
|
||||
<script src="js/lib/helpers.js"></script>
|
||||
@@ -4,6 +4,7 @@ $this->load->view('modals/user_modal');
|
||||
$this->load->view('modals/customer_modal');
|
||||
$this->load->view('modals/external_modal');
|
||||
$this->load->view('modals/offer_modal');
|
||||
$this->load->view('modals/comment_modal');
|
||||
|
||||
$this->load->view('specials/tellme_modal');
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -8,4 +8,9 @@ body{
|
||||
}
|
||||
.site-menubar{
|
||||
top:0;
|
||||
}
|
||||
}
|
||||
.ui-datepicker {
|
||||
position: relative;
|
||||
z-index:9999 !important;
|
||||
}
|
||||
|
||||
|
||||
+148
-45
@@ -1,90 +1,193 @@
|
||||
.redish{
|
||||
color:#F2353C;
|
||||
}
|
||||
.blueish{
|
||||
color:#247CF0;
|
||||
}
|
||||
.greenish{
|
||||
color:#5A9101;
|
||||
}
|
||||
.pointer{
|
||||
cursor:pointer;
|
||||
}
|
||||
.align-right{
|
||||
text-align:right;
|
||||
.redish {
|
||||
color: #F2353C;
|
||||
}
|
||||
|
||||
.site-menu-sub > li{
|
||||
margin-left:30px;
|
||||
padding-left:10px;
|
||||
.blueish {
|
||||
color: #247CF0;
|
||||
}
|
||||
.site-menu-sub > li :hover{
|
||||
background-color:#463238;
|
||||
color:gold;
|
||||
|
||||
.greenish {
|
||||
color: #5A9101;
|
||||
}
|
||||
|
||||
.whiteish{
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.site-menu-sub > li {
|
||||
margin-left: 30px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.site-menu-sub > li :hover {
|
||||
background-color: #463238;
|
||||
color: gold;
|
||||
}
|
||||
|
||||
/*********TABLES************/
|
||||
|
||||
.table-blueish-header{
|
||||
background-color:#247CF0;
|
||||
color:#fff !important;
|
||||
.table-blueish-header {
|
||||
background-color: #247CF0;
|
||||
color: #fff !important;
|
||||
}
|
||||
.table-blueish-header{
|
||||
background-color:#247CF0;
|
||||
color:#fff !important;
|
||||
|
||||
.table-blueish-header {
|
||||
background-color: #247CF0;
|
||||
color: #fff !important;
|
||||
}
|
||||
.table-tealish-header{
|
||||
background-color:#008577;
|
||||
color:#fff !important;
|
||||
|
||||
.table-tealish-header {
|
||||
background-color: #008577;
|
||||
color: #fff !important;
|
||||
}
|
||||
.table-tealish-light-header{
|
||||
background-color:#C3F7F2;
|
||||
color:#fff !important;
|
||||
|
||||
.table-tealish-light-header {
|
||||
background-color: #C3F7F2;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
/*********SWITCH************/
|
||||
.onoffswitch {
|
||||
position: relative; width: 60px;
|
||||
-webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
|
||||
position: relative;
|
||||
width: 60px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
|
||||
.onoffswitch-checkbox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.onoffswitch-label {
|
||||
display: block; overflow: hidden; cursor: pointer;
|
||||
border: 2px solid #05A85C; border-radius: 16px;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
border: 2px solid #05A85C;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.onoffswitch-inner {
|
||||
display: block; width: 200%; margin-left: -100%;
|
||||
display: block;
|
||||
width: 200%;
|
||||
margin-left: -100%;
|
||||
transition: margin 0.3s ease-in 0s;
|
||||
}
|
||||
|
||||
.onoffswitch-inner:before, .onoffswitch-inner:after {
|
||||
display: block; float: left; width: 50%; height: 23px; padding: 0; line-height: 23px;
|
||||
font-size: 11px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
|
||||
display: block;
|
||||
float: left;
|
||||
width: 50%;
|
||||
height: 23px;
|
||||
padding: 0;
|
||||
line-height: 23px;
|
||||
font-size: 11px;
|
||||
color: white;
|
||||
font-family: Trebuchet, Arial, sans-serif;
|
||||
font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.onoffswitch-inner:before {
|
||||
content: "Ja";
|
||||
padding-left: 10px;
|
||||
background-color: #63BE62; color: #FFFFFF;
|
||||
background-color: #63BE62;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.onoffswitch-inner:after {
|
||||
content: "nee";
|
||||
padding-right: 10px;
|
||||
background-color: #EEEEEE; color: #999999;
|
||||
background-color: #EEEEEE;
|
||||
color: #999999;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.onoffswitch-switch {
|
||||
display: block; width: 25px; margin: 1.5px;
|
||||
display: block;
|
||||
width: 25px;
|
||||
margin: 1.5px;
|
||||
background: #FFFFFF;
|
||||
position: absolute; top: 0; bottom: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 33px;
|
||||
border: 2px solid #408C40; border-radius: 16px;
|
||||
border: 2px solid #408C40;
|
||||
border-radius: 16px;
|
||||
transition: all 0.3s ease-in 0s;
|
||||
}
|
||||
|
||||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
|
||||
right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
/**********percentage input***********/
|
||||
.percentage-input {
|
||||
text-align: right;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
.percentage-sign {
|
||||
position: relative;
|
||||
right: 15px;
|
||||
z-index: 10;
|
||||
top: 7px;
|
||||
}
|
||||
/**********END: percentage input***********/
|
||||
|
||||
.pointer{
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.comment-text{
|
||||
padding:5px;
|
||||
margin-bottom:10px;
|
||||
background-color: #fffad9;
|
||||
float:left;
|
||||
width:100%;
|
||||
border:1px solid #fffda0;
|
||||
border-radius:5px;
|
||||
}
|
||||
.comment-text:hover{
|
||||
background-color: #e9f3e9;
|
||||
}
|
||||
|
||||
/*************upload-button*************/
|
||||
.upload-btn-wrapper {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
width:100%
|
||||
}
|
||||
|
||||
.upload-btn {
|
||||
border: 2px solid gray;
|
||||
color: gray;
|
||||
background-color: white;
|
||||
padding: 8px 20px;
|
||||
border-radius: 8px;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
width:100%
|
||||
}
|
||||
|
||||
.upload-btn-wrapper input[type=file] {
|
||||
font-size: 100px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
|
||||
+5
-1
@@ -247,7 +247,11 @@ switch (ENVIRONMENT)
|
||||
// Path to the front controller (this file) directory
|
||||
define('FCPATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
|
||||
|
||||
// Name of the "system" directory
|
||||
//path to the root of the project
|
||||
define( 'MYROOTPATH', str_replace( 'public/', '', FCPATH ) );
|
||||
|
||||
|
||||
// Name of the "system" directory
|
||||
define('SYSDIR', basename(BASEPATH));
|
||||
|
||||
// The path to the "application" directory
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 14:18
|
||||
*/
|
||||
|
||||
|
||||
dbo.commentsDataService = {
|
||||
|
||||
getComments: function ( foreignID, tablename, callback ) {
|
||||
$.getJSON( 'index.php/projects/commentsController/getComments/' + foreignID + '/' + tablename )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
getComment:function(commentID, callback){
|
||||
$.getJSON( 'index.php/projects/commentsController/getComment/' + commentID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
addComment: function ( foreignID, tablename, callback ) {
|
||||
$.getJSON( 'index.php/projects/commentsController/addComment/' + foreignID + '/' + tablename )
|
||||
.done( function (data) {
|
||||
callback(data);
|
||||
} );
|
||||
},
|
||||
|
||||
saveComment:function(commentID, comment, callback){
|
||||
$.post('index.php/projects/commentsController/saveComment/' + commentID, {comment:comment} )
|
||||
.done(function(){
|
||||
callback();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 14:18
|
||||
*/
|
||||
|
||||
|
||||
dbo.documentsDataService = {
|
||||
|
||||
getdocuments: function ( foreignID, tablename, callback ) {
|
||||
$.getJSON( 'index.php/projects/documentsController/getDocuments/' + foreignID + '/' + tablename )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
removeDocument:function(documentID, callback){
|
||||
$.getJSON( 'index.php/projects/documentsController/removeDocument/' + documentID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,29 +8,21 @@
|
||||
dbo.offerDataService = {
|
||||
|
||||
getAllOffers: function ( archive = 'F', callback ) {
|
||||
$.getJSON( 'index.php/beheer/offersController/getAllOffers/' + archive )
|
||||
$.getJSON( 'index.php/projects/offersController/getAllOffers/' + archive )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
getOffer: function ( userID, callback ) {
|
||||
$.getJSON( 'index.php/beheer/offersController/getOffer/' + userID )
|
||||
$.getJSON( 'index.php/projects/offersController/getOffer/' + userID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
checkOffername: function ( username, callback ) {
|
||||
$.post( 'index.php/beheer/userController/checkOffername', 'json' )
|
||||
.done( function ( data ) {
|
||||
console.log( data );
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
saveOffer: function ( submitDATA, callback ) {
|
||||
$.post( 'index.php/beheer/offersController/saveOffer', submitDATA, function () {
|
||||
$.post( 'index.php/projects/offersController/saveOffer', submitDATA, function () {
|
||||
}, 'json' )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
@@ -38,14 +30,14 @@ dbo.offerDataService = {
|
||||
},
|
||||
|
||||
archiveOffer: function ( userID, status, callback ) {
|
||||
$.get( 'index.php/beheer/offersController/archiveOffer/' + userID + '/' + status )
|
||||
$.get( 'index.php/projects/offersController/archiveOffer/' + userID + '/' + status )
|
||||
.done( function () {
|
||||
callback();
|
||||
} );
|
||||
},
|
||||
|
||||
removeOffer: function ( userID, callback ) {
|
||||
$.getJSON( 'index.php/beheer/offersController/removeOffer/' + userID )
|
||||
$.getJSON( 'index.php/projects/offersController/removeOffer/' + userID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
|
||||
@@ -55,5 +55,15 @@ dbo.helpers = {
|
||||
string = string.toString();
|
||||
if ( string.length == 0 ) return '';
|
||||
return string.split( '' ).reverse().join( '' );
|
||||
},
|
||||
|
||||
mysql2date : function(date){
|
||||
if( date.length != 10 ) return null;
|
||||
|
||||
var dateParts = date.split("-");
|
||||
|
||||
var newDate = dateParts[2] + '-' + dateParts[1] + '-' + dateParts[0];
|
||||
|
||||
return newDate;
|
||||
}
|
||||
}
|
||||
+16
-1
@@ -29,4 +29,19 @@ $( function () {
|
||||
shouldDisplay ? $( element ).fadeIn( 750 ) : $( element ).fadeOut( 750 );
|
||||
}
|
||||
};
|
||||
} );
|
||||
} );
|
||||
|
||||
function uploadFile(file, foreignID, tablename, callback){
|
||||
var url = 'index.php/utils/fileUpload/upload/' + foreignID + '/' + tablename;
|
||||
var xhr = new XMLHttpRequest();
|
||||
var fd = new FormData();
|
||||
xhr.open("POST", url, true);
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState == 4 && xhr.status == 200) {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
fd.append("userfile", file);
|
||||
|
||||
xhr.send(fd);
|
||||
}
|
||||
@@ -41,6 +41,7 @@ $( function () {
|
||||
vm[page]( true );
|
||||
|
||||
var func = page.toLowerCase() + 'Init';
|
||||
console.log( func );
|
||||
window.dbo[func]();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 10/01/2018
|
||||
* Time: 16:28
|
||||
*/
|
||||
|
||||
|
||||
dbo.commentModel = {
|
||||
|
||||
|
||||
comment : ko.observable(),
|
||||
commentID: null,
|
||||
callback : null,
|
||||
options : {
|
||||
// disable wrapping content with paragraphs
|
||||
// instead <br> will be used
|
||||
enter : $.FroalaEditor.ENTER_DIV,
|
||||
key : 'zc1QXIa2QZe1UOXATEX==',
|
||||
// we like gray!
|
||||
theme : 'gray',
|
||||
toolbarButtons: ['bold', 'italic', 'underline']
|
||||
},
|
||||
|
||||
showComment: function ( commentID, callback ) {
|
||||
var vm = dbo.commentModel;
|
||||
|
||||
vm.callback = callback;
|
||||
vm.commentID = commentID;
|
||||
|
||||
$( "#comment-modal" ).modal( 'show' );
|
||||
dbo.commentsDataService.getComment( vm.commentID, function ( data ) {
|
||||
vm.comment( data.comment );
|
||||
} );
|
||||
},
|
||||
|
||||
saveComment: function () {
|
||||
var vm = dbo.commentModel;
|
||||
dbo.commentsDataService.saveComment( vm.commentID, vm.comment(), function () {
|
||||
$( "#comment-modal" ).modal( 'hide' );
|
||||
|
||||
vm.callback();
|
||||
} );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ko.applyBindings( dbo.commentModel, document.getElementById( 'comment-modal' ) );
|
||||
@@ -82,7 +82,7 @@ $( function () {
|
||||
setCustomer: function ( customer ) {
|
||||
var vm = dbo.editCustomerModal;
|
||||
|
||||
vm.id = customer.id;
|
||||
vm.id = customer.id || 0;
|
||||
vm.name( customer.name || '' );
|
||||
vm.address( customer.address || '' );
|
||||
vm.postcode( customer.postcode || '' );
|
||||
@@ -125,6 +125,6 @@ $( function () {
|
||||
return true;
|
||||
}, dbo.editCustomerModal )
|
||||
|
||||
ko.applyBindings( dbo.editCustomerModal, document.getElementById( 'customer-modal' ) );
|
||||
ko.applyBindings( dbo.editCustomerModal, document.getElementById( 'customer-modal' ) );
|
||||
|
||||
} );
|
||||
@@ -1,64 +1,64 @@
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* Offerte: Theo Weijmer
|
||||
* Offer: Theo Weijmer
|
||||
* Date: 25/12/2017
|
||||
* Time: 17:32
|
||||
*/
|
||||
|
||||
$( function () {
|
||||
dbo.editOfferteModal = {
|
||||
|
||||
dbo.editOfferModal = {
|
||||
id : null,
|
||||
offertes : ko.observableArray( [] ),
|
||||
projects : ko.observableArray( [] ),
|
||||
offerte_id : ko.observable(),
|
||||
project_id : ko.observable(),
|
||||
customers : ko.observableArray( [] ),
|
||||
startdate : ko.observable(),
|
||||
acceptance_chance: ko.observable(),
|
||||
accepteddate : ko.observable(),
|
||||
rejectdate : ko.observable(),
|
||||
customer_id : ko.observable(),
|
||||
project_id : ko.observable(),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.editOfferteModal;
|
||||
dbo.customerDataService.getAllCustomers( 'F', function ( data ) {
|
||||
vm.customers( data );
|
||||
} );
|
||||
var vm = dbo.editOfferModal;
|
||||
|
||||
dbo.editOfferModal.refreshCustomers();
|
||||
},
|
||||
|
||||
newEditOfferte: function ( offerte, callback ) {
|
||||
var vm = dbo.editOfferteModal;
|
||||
newEditOffer: function ( offer, callback ) {
|
||||
var vm = dbo.editOfferModal;
|
||||
vm.callback = typeof(callback) == 'function' ? callback : null;
|
||||
|
||||
vm.showOfferteModal();
|
||||
vm.showOfferModal();
|
||||
|
||||
vm.setOfferte( offerte );
|
||||
vm.setOffer( offer );
|
||||
},
|
||||
|
||||
saveOfferte: function () {
|
||||
var vm = dbo.editOfferteModal;
|
||||
getCustomerProjects: function () {
|
||||
var vm = dbo.editOfferModal;
|
||||
},
|
||||
|
||||
saveOffer: function () {
|
||||
var vm = dbo.editOfferModal;
|
||||
|
||||
if ( vm.formValid == false ) return;
|
||||
|
||||
var submitDATA = {
|
||||
id : vm.id,
|
||||
offertes : vm.offertes(),
|
||||
projects : vm.projects(),
|
||||
offerte_id : vm.offerte_id(),
|
||||
project_id : vm.project_id(),
|
||||
customer_id : vm.customer_id(),
|
||||
startdate : vm.startdate(),
|
||||
acceptance_chance: vm.acceptance_chance(),
|
||||
accepteddate : vm.accepteddate(),
|
||||
rejectdate : vm.rejectdate()
|
||||
rejectdate : vm.rejectdate(),
|
||||
}
|
||||
|
||||
dbo.offerteDataService.saveOfferte( submitDATA, function ( data ) {
|
||||
dbo.offerDataService.saveOffer( submitDATA, function ( data ) {
|
||||
if ( data.success ) {
|
||||
tellMe( {
|
||||
title : 'offerte aangemaakt',
|
||||
message : 'de offerte is succesvol opgeslagen',
|
||||
title : 'offer aangemaakt',
|
||||
message : 'de offer is succesvol opgeslagen',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.hideOfferteModal();
|
||||
vm.hideOfferModal();
|
||||
|
||||
if ( typeof(vm.callback) == 'function' ) vm.callback();
|
||||
} );
|
||||
@@ -74,38 +74,80 @@ $( function () {
|
||||
} );
|
||||
errorMessage += '</ul>';
|
||||
tellMe( {
|
||||
title : 'fout aanmaken offerte',
|
||||
title : 'fout aanmaken offer',
|
||||
message : errorMessage,
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
} );
|
||||
},
|
||||
|
||||
setOfferte: function ( offerte ) {
|
||||
var vm = dbo.editOfferteModal;
|
||||
setOffer: function ( offer ) {
|
||||
var vm = dbo.editOfferModal;
|
||||
|
||||
vm.id = offerte.id;
|
||||
vm.name( offerte.name || '' );
|
||||
vm.address( offerte.address || '' );
|
||||
vm.postcode( offerte.postcode || '' );
|
||||
vm.place( offerte.place || '' );
|
||||
vm.contactperson( offerte.contactperson || '' );
|
||||
vm.email( offerte.email || '' );
|
||||
vm.website( offerte.website || '' );
|
||||
vm.remarks( offerte.remarks || '' );
|
||||
vm.id = offer.id || 0;
|
||||
vm.customer_id( offer.customer_id || null );
|
||||
vm.project_id( offer.project_id || null );
|
||||
vm.startdate( offer.startdate || null );
|
||||
vm.acceptance_chance( offer.acceptance_chance || 0 );
|
||||
vm.accepteddate( offer.accepteddate || null );
|
||||
vm.rejectdate( offer.rejectdate || null );
|
||||
},
|
||||
|
||||
showOfferteModal: function () {
|
||||
$( "#offerte-modal" ).modal( 'show' );
|
||||
showOfferModal: function () {
|
||||
$( "#offer-modal" ).modal( 'show' );
|
||||
},
|
||||
|
||||
hideOfferteModal: function () {
|
||||
$( "#offerte-modal" ).modal( 'hide' );
|
||||
hideOfferModal: function () {
|
||||
$( "#offer-modal" ).modal( 'hide' );
|
||||
},
|
||||
|
||||
validateNumber: function () {
|
||||
var vm = dbo.editOfferModal;
|
||||
vm.acceptance_chance( dbo.helpers.validateNumber( vm.acceptance_chance(), false ) );
|
||||
},
|
||||
|
||||
addCustomer: function () {
|
||||
var vm = dbo.editOfferModal;
|
||||
dbo.editCustomerModal.newEditCustomer( false, function () {
|
||||
vm.refreshCustomers();
|
||||
} );
|
||||
},
|
||||
|
||||
refreshCustomers: function () {
|
||||
var vm = dbo.editOfferModal;
|
||||
dbo.customerDataService.getAllCustomers( 'F', function ( data ) {
|
||||
vm.customers( data );
|
||||
} );
|
||||
},
|
||||
|
||||
resetDate: function ( field ) {
|
||||
var vm = dbo.editOfferModal;
|
||||
|
||||
vm[field]( null );
|
||||
}
|
||||
};
|
||||
|
||||
dbo.editOfferteModal.init();
|
||||
dbo.editOfferModal.init();
|
||||
|
||||
ko.applyBindings( dbo.editOfferteModal, document.getElementById( 'offer-modal' ) );
|
||||
dbo.editOfferModal.offerDateValid = ko.pureComputed( function () {
|
||||
if ( !this.startdate() ) return false;
|
||||
if ( this.startdate().length != 10 ) return false;
|
||||
|
||||
return true;
|
||||
}, dbo.editOfferModal );
|
||||
|
||||
dbo.editOfferModal.chance = ko.pureComputed( function () {
|
||||
if ( this.acceptance_chance() < 0 ) return this.acceptance_chance( 0 );
|
||||
if ( this.acceptance_chance() > 100 ) return this.acceptance_chance( 100 );
|
||||
}, dbo.editOfferModal );
|
||||
|
||||
dbo.editOfferModal.formValid = ko.pureComputed( function () {
|
||||
if ( !this.customer_id() ) return false;
|
||||
if ( !this.offerDateValid() ) return false;
|
||||
|
||||
return true;
|
||||
}, dbo.editOfferModal )
|
||||
|
||||
ko.applyBindings( dbo.editOfferModal, document.getElementById( 'offer-modal' ) );
|
||||
|
||||
} );
|
||||
@@ -13,14 +13,18 @@ dbo.offersInit = function () {
|
||||
} else {
|
||||
dbo.offersModel = {
|
||||
|
||||
offers : ko.observableArray( [] ),
|
||||
offer : ko.observable(),
|
||||
archive: ko.observable( false ),
|
||||
tableName : 'OFFER',
|
||||
offers : ko.observableArray( [] ),
|
||||
offer : ko.observable(),
|
||||
archive : ko.observable( false ),
|
||||
comments : ko.observableArray( [] ),
|
||||
documents : ko.observableArray( [] ),
|
||||
selectedRowID: ko.observable(),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.offersModel;
|
||||
|
||||
// vm.refreshOffers();
|
||||
vm.refreshOffers();
|
||||
},
|
||||
|
||||
newOffer: function () {
|
||||
@@ -47,6 +51,43 @@ dbo.offersInit = function () {
|
||||
} );
|
||||
},
|
||||
|
||||
selectOffer: function () {
|
||||
var vm = dbo.offersModel;
|
||||
|
||||
vm.selectedRowID( this.id );
|
||||
|
||||
vm.refreshComments();
|
||||
|
||||
vm.refreshDocuments();
|
||||
},
|
||||
|
||||
addDocument: function ( data, evt ) {
|
||||
var vm = dbo.offersModel;
|
||||
uploadFile( evt.target.files[0], vm.selectedRowID(), vm.tableName, function () {
|
||||
vm.refreshDocuments();
|
||||
} );
|
||||
},
|
||||
|
||||
addComment: function () {
|
||||
var vm = dbo.offersModel;
|
||||
dbo.commentsDataService.addComment( vm.selectedRowID(), vm.tableName, function ( commentID ) {
|
||||
dbo.commentModel.showComment( commentID, function () {
|
||||
vm.refreshComments();
|
||||
} )
|
||||
} );
|
||||
},
|
||||
|
||||
editComment: function () {
|
||||
var vm = dbo.offersModel;
|
||||
dbo.commentModel.showComment( this.id, function () {
|
||||
vm.refreshComments();
|
||||
} );
|
||||
},
|
||||
|
||||
downloadDocument: function () {
|
||||
window.open( 'index.php/projects/documentscontroller/downloaddocument/' + this.id );
|
||||
},
|
||||
|
||||
archiveOffer: function () {
|
||||
var vm = dbo.offersModel;
|
||||
var self = this;
|
||||
@@ -93,12 +134,102 @@ dbo.offersInit = function () {
|
||||
} );
|
||||
},
|
||||
|
||||
removeFile: function () {
|
||||
var vm = dbo.offersModel;
|
||||
var self = this;
|
||||
|
||||
tellMe( {
|
||||
title : 'verwijderen document',
|
||||
message : 'weet u zeker dat u hjet document wilt verwijderen, dit kan niet ongedaan worden gemaakt',
|
||||
notify : true,
|
||||
noText : 'nee verwijder het document niet',
|
||||
yesText : 'ja verwijder het document',
|
||||
modalClass: 'modal-warning'
|
||||
}, function ( response ) {
|
||||
console.log( response );
|
||||
if ( response ) {
|
||||
dbo.documentsDataService.removeDocument( self.id, function ( data ) {
|
||||
if ( data.result ) {
|
||||
tellMe( {
|
||||
title : 'document verwijderd',
|
||||
message : 'het document is succesvol verwijderd',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.refreshDocuments();
|
||||
} );
|
||||
} else {
|
||||
tellMe( {
|
||||
title : 'fout bij verwijderen document',
|
||||
message : 'het document kan niet worden verwijderd',
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
}
|
||||
} );
|
||||
}
|
||||
} );
|
||||
|
||||
},
|
||||
|
||||
refreshOffers: function () {
|
||||
var vm = dbo.offersModel;
|
||||
|
||||
dbo.offerDataService.getAllOffers( vm.archive() ? 'T' : 'F', function ( data ) {
|
||||
vm.offers( data );
|
||||
vm.offers.removeAll();
|
||||
$.each( data, function ( i, p ) {
|
||||
vm.offers.push( new vm.Offer( p ) );
|
||||
} )
|
||||
} );
|
||||
},
|
||||
|
||||
refreshComments: function () {
|
||||
var vm = dbo.offersModel;
|
||||
|
||||
dbo.commentsDataService.getComments( vm.selectedRowID(), vm.tableName, function ( data ) {
|
||||
vm.comments.removeAll();
|
||||
console.log( data );
|
||||
$.each( data, function ( i, p ) {
|
||||
vm.comments.push( new vm.Comment( p ) );
|
||||
} );
|
||||
} );
|
||||
},
|
||||
|
||||
refreshDocuments: function () {
|
||||
var vm = dbo.offersModel;
|
||||
|
||||
dbo.documentsDataService.getdocuments( vm.selectedRowID(), vm.tableName, function ( data ) {
|
||||
vm.documents.removeAll();
|
||||
|
||||
$.each( data, function ( i, p ) {
|
||||
vm.documents.push( new vm.Document( p ) );
|
||||
} )
|
||||
} )
|
||||
},
|
||||
|
||||
Offer: function ( data ) {
|
||||
this.id = data.id;
|
||||
this.acceptance_chance = data.acceptance_chance;
|
||||
this.projectNumber = data.project ? data.project.projectnumber : null;
|
||||
this.customerName = data.customer ? data.customer.name : null;
|
||||
this.customer_id = data.customer_id;
|
||||
this.startdate = data.startdate ? dbo.helpers.mysql2date( data.startdate ) : null;
|
||||
this.rejectdate = data.rejectdate ? dbo.helpers.mysql2date( data.rejectdate ) : null;
|
||||
this.accepteddate = data.accepteddate ? dbo.helpers.mysql2date( data.accepteddate ) : null;
|
||||
this.acceptance_chance = data.acceptance_chance ? data.acceptance_chance : 0;
|
||||
this.archive = data.archive;
|
||||
},
|
||||
|
||||
Comment: function ( data ) {
|
||||
this.id = data.id;
|
||||
this.comment_date = data.comment_date;
|
||||
this.fullname = data.user.fullname;
|
||||
this.comment = ko.observable( data.comment );
|
||||
},
|
||||
|
||||
Document: function ( data ) {
|
||||
this.id = data.id;
|
||||
this.originalname = data.originalname;
|
||||
this.uploaddate = data.uploaddate;
|
||||
this.fullname = data.user.fullname;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
Froala WYSIWYG Editor
|
||||
================
|
||||
|
||||
In order to use Froala Editor you have to purchase a license from: https://www.froala.com/wysiwyg-editor/pricing.
|
||||
For more informations regarding the license please read https://www.froala.com/wysiwyg-editor/terms.
|
||||
Vendored
+92
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"name": "froala-wysiwyg-editor",
|
||||
"description": "A beautiful jQuery WYSIWYG HTML rich text editor. High performance and modern design make it easy to use for developers and loved by users.",
|
||||
"homepage": "https://www.froala.com/wysiwyg-editor",
|
||||
"license": "https://www.froala.com/wysiwyg-editor/pricing",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/froala/wysiwyg-editor.git"
|
||||
},
|
||||
"keywords": [
|
||||
"froala",
|
||||
"froala-editor",
|
||||
"froala-wysiwyg",
|
||||
"html",
|
||||
"text",
|
||||
"editor",
|
||||
"wysiwyg",
|
||||
"jquery-plugin",
|
||||
"rich editor",
|
||||
"rich text editor",
|
||||
"rte",
|
||||
"javascript",
|
||||
"jquery"
|
||||
],
|
||||
"moduleType": "globals",
|
||||
"main": [
|
||||
"css/froala_editor.min.css",
|
||||
"css/froala_editor.pkgd.min.css",
|
||||
"css/froala_style.min.css",
|
||||
"css/plugins/char_counter.min.css",
|
||||
"css/plugins/code_view.min.css",
|
||||
"css/plugins/colors.min.css",
|
||||
"css/plugins/draggable.min.css",
|
||||
"css/plugins/emoticons.min.css",
|
||||
"css/plugins/file.min.css",
|
||||
"css/plugins/fullscreen.min.css",
|
||||
"css/plugins/help.min.css",
|
||||
"css/plugins/image_manager.min.css",
|
||||
"css/plugins/image.min.css",
|
||||
"css/plugins/line_breaker.min.css",
|
||||
"css/plugins/quick_insert.min.css",
|
||||
"css/plugins/special_characters.min.css",
|
||||
"css/plugins/table.min.css",
|
||||
"css/plugins/video.min.css",
|
||||
"css/third_party/embedly.min.css",
|
||||
"css/third_party/spell_checker.min.css",
|
||||
"js/froala_editor.min.js",
|
||||
"js/froala_editor.pkgd.min.js",
|
||||
"js/plugins/align.min.js",
|
||||
"js/plugins/char_counter.min.js",
|
||||
"js/plugins/code_beautifier.min.js",
|
||||
"js/plugins/code_view.min.js",
|
||||
"js/plugins/colors.min.js",
|
||||
"js/plugins/draggable.min.js",
|
||||
"js/plugins/emoticons.min.js",
|
||||
"js/plugins/entities.min.js",
|
||||
"js/plugins/file.min.js",
|
||||
"js/plugins/font_family.min.js",
|
||||
"js/plugins/font_size.min.js",
|
||||
"js/plugins/fullscreen.min.js",
|
||||
"js/plugins/help.min.js",
|
||||
"js/plugins/image.min.js",
|
||||
"js/plugins/image_manager.min.js",
|
||||
"js/plugins/inline_style.min.js",
|
||||
"js/plugins/line_breaker.min.js",
|
||||
"js/plugins/link.min.js",
|
||||
"js/plugins/lists.min.js",
|
||||
"js/plugins/paragraph_format.min.js",
|
||||
"js/plugins/paragraph_style.min.js",
|
||||
"js/plugins/print.min.js",
|
||||
"js/plugins/quick_insert.min.js",
|
||||
"js/plugins/quote.min.js",
|
||||
"js/plugins/save.min.js",
|
||||
"js/plugins/special_characters.min.js",
|
||||
"js/plugins/table.min.js",
|
||||
"js/plugins/url.min.js",
|
||||
"js/plugins/video.min.js",
|
||||
"js/plugins/word_paste.min.js",
|
||||
"js/third_party/embedly.min.js",
|
||||
"js/third_party/image_aviary.min.js",
|
||||
"js/third_party/spell_checker.min.js"
|
||||
],
|
||||
"ignore": [
|
||||
"html",
|
||||
"img",
|
||||
"package.json"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.11.0",
|
||||
"font-awesome": ">=4.4.0"
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"name": "froala/wysiwyg-editor",
|
||||
"description": "A beautiful jQuery WYSIWYG HTML rich text editor. High performance and modern design make it easy to use for developers and loved by users.",
|
||||
"type": "component",
|
||||
"homepage": "https://www.froala.com/wysiwyg-editor",
|
||||
"license": "proprietary",
|
||||
"support": {
|
||||
"issues": "https://www.froala.com/wysiwyg-editor/contact"
|
||||
},
|
||||
"keywords": [
|
||||
"froala",
|
||||
"froala-editor",
|
||||
"froala-wysiwyg",
|
||||
"html",
|
||||
"text",
|
||||
"editor",
|
||||
"wysiwyg",
|
||||
"jquery-plugin",
|
||||
"rich editor",
|
||||
"rich text editor",
|
||||
"rte",
|
||||
"javascript",
|
||||
"jquery"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Froala Labs",
|
||||
"email": "support@froala.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1270
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+2908
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+405
@@ -0,0 +1,405 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
img.fr-rounded,
|
||||
.fr-img-caption.fr-rounded img {
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
img.fr-bordered,
|
||||
.fr-img-caption.fr-bordered img {
|
||||
border: solid 5px #CCC;
|
||||
}
|
||||
img.fr-bordered {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
.fr-img-caption.fr-bordered img {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
img.fr-shadow,
|
||||
.fr-img-caption.fr-shadow img {
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
}
|
||||
.fr-view span[style~="color:"] a {
|
||||
color: inherit;
|
||||
}
|
||||
.fr-view strong {
|
||||
font-weight: 700;
|
||||
}
|
||||
.fr-view table {
|
||||
border: none;
|
||||
border-collapse: collapse;
|
||||
empty-cells: show;
|
||||
max-width: 100%;
|
||||
}
|
||||
.fr-view table.fr-dashed-borders td,
|
||||
.fr-view table.fr-dashed-borders th {
|
||||
border-style: dashed;
|
||||
}
|
||||
.fr-view table.fr-alternate-rows tbody tr:nth-child(2n) {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.fr-view table td,
|
||||
.fr-view table th {
|
||||
border: 1px solid #dddddd;
|
||||
}
|
||||
.fr-view table td:empty,
|
||||
.fr-view table th:empty {
|
||||
height: 20px;
|
||||
}
|
||||
.fr-view table td.fr-highlighted,
|
||||
.fr-view table th.fr-highlighted {
|
||||
border: 1px double red;
|
||||
}
|
||||
.fr-view table td.fr-thick,
|
||||
.fr-view table th.fr-thick {
|
||||
border-width: 2px;
|
||||
}
|
||||
.fr-view table th {
|
||||
background: #e6e6e6;
|
||||
}
|
||||
.fr-view hr {
|
||||
clear: both;
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
page-break-after: always;
|
||||
}
|
||||
.fr-view .fr-file {
|
||||
position: relative;
|
||||
}
|
||||
.fr-view .fr-file::after {
|
||||
position: relative;
|
||||
content: "\1F4CE";
|
||||
font-weight: normal;
|
||||
}
|
||||
.fr-view pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.fr-view[dir="rtl"] blockquote {
|
||||
border-left: none;
|
||||
border-right: solid 2px #5e35b1;
|
||||
margin-right: 0;
|
||||
padding-right: 5px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
.fr-view[dir="rtl"] blockquote blockquote {
|
||||
border-color: #00bcd4;
|
||||
}
|
||||
.fr-view[dir="rtl"] blockquote blockquote blockquote {
|
||||
border-color: #43a047;
|
||||
}
|
||||
.fr-view blockquote {
|
||||
border-left: solid 2px #5e35b1;
|
||||
margin-left: 0;
|
||||
padding-left: 5px;
|
||||
color: #5e35b1;
|
||||
}
|
||||
.fr-view blockquote blockquote {
|
||||
border-color: #00bcd4;
|
||||
color: #00bcd4;
|
||||
}
|
||||
.fr-view blockquote blockquote blockquote {
|
||||
border-color: #43a047;
|
||||
color: #43a047;
|
||||
}
|
||||
.fr-view span.fr-emoticon {
|
||||
font-weight: normal;
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
|
||||
display: inline;
|
||||
line-height: 0;
|
||||
}
|
||||
.fr-view span.fr-emoticon.fr-emoticon-img {
|
||||
background-repeat: no-repeat !important;
|
||||
font-size: inherit;
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
min-height: 20px;
|
||||
min-width: 20px;
|
||||
display: inline-block;
|
||||
margin: -0.1em 0.1em 0.1em;
|
||||
line-height: 1;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.fr-view .fr-text-gray {
|
||||
color: #AAA !important;
|
||||
}
|
||||
.fr-view .fr-text-bordered {
|
||||
border-top: solid 1px #222;
|
||||
border-bottom: solid 1px #222;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.fr-view .fr-text-spaced {
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.fr-view .fr-text-uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.fr-view img {
|
||||
position: relative;
|
||||
max-width: 100%;
|
||||
}
|
||||
.fr-view img.fr-dib {
|
||||
margin: 5px auto;
|
||||
display: block;
|
||||
float: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
.fr-view img.fr-dib.fr-fil {
|
||||
margin-left: 0;
|
||||
text-align: left;
|
||||
}
|
||||
.fr-view img.fr-dib.fr-fir {
|
||||
margin-right: 0;
|
||||
text-align: right;
|
||||
}
|
||||
.fr-view img.fr-dii {
|
||||
display: inline-block;
|
||||
float: none;
|
||||
vertical-align: bottom;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
max-width: calc(100% - (2 * 5px));
|
||||
}
|
||||
.fr-view img.fr-dii.fr-fil {
|
||||
float: left;
|
||||
margin: 5px 5px 5px 0;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
.fr-view img.fr-dii.fr-fir {
|
||||
float: right;
|
||||
margin: 5px 0 5px 5px;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
.fr-view span.fr-img-caption {
|
||||
position: relative;
|
||||
max-width: 100%;
|
||||
}
|
||||
.fr-view span.fr-img-caption.fr-dib {
|
||||
margin: 5px auto;
|
||||
display: block;
|
||||
float: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
.fr-view span.fr-img-caption.fr-dib.fr-fil {
|
||||
margin-left: 0;
|
||||
text-align: left;
|
||||
}
|
||||
.fr-view span.fr-img-caption.fr-dib.fr-fir {
|
||||
margin-right: 0;
|
||||
text-align: right;
|
||||
}
|
||||
.fr-view span.fr-img-caption.fr-dii {
|
||||
display: inline-block;
|
||||
float: none;
|
||||
vertical-align: bottom;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
max-width: calc(100% - (2 * 5px));
|
||||
}
|
||||
.fr-view span.fr-img-caption.fr-dii.fr-fil {
|
||||
float: left;
|
||||
margin: 5px 5px 5px 0;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
.fr-view span.fr-img-caption.fr-dii.fr-fir {
|
||||
float: right;
|
||||
margin: 5px 0 5px 5px;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
.fr-view .fr-video {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
.fr-view .fr-video > * {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
max-width: 100%;
|
||||
border: none;
|
||||
}
|
||||
.fr-view .fr-video.fr-dvb {
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
.fr-view .fr-video.fr-dvb.fr-fvl {
|
||||
text-align: left;
|
||||
}
|
||||
.fr-view .fr-video.fr-dvb.fr-fvr {
|
||||
text-align: right;
|
||||
}
|
||||
.fr-view .fr-video.fr-dvi {
|
||||
display: inline-block;
|
||||
}
|
||||
.fr-view .fr-video.fr-dvi.fr-fvl {
|
||||
float: left;
|
||||
}
|
||||
.fr-view .fr-video.fr-dvi.fr-fvr {
|
||||
float: right;
|
||||
}
|
||||
.fr-view a.fr-strong {
|
||||
font-weight: 700;
|
||||
}
|
||||
.fr-view a.fr-green {
|
||||
color: green;
|
||||
}
|
||||
.fr-view .fr-img-caption {
|
||||
text-align: center;
|
||||
}
|
||||
.fr-view .fr-img-caption .fr-img-wrap {
|
||||
padding: 0px;
|
||||
display: inline-block;
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
.fr-view .fr-img-caption .fr-img-wrap img {
|
||||
display: block;
|
||||
margin: auto;
|
||||
}
|
||||
.fr-view .fr-img-caption .fr-img-wrap > span {
|
||||
margin: auto;
|
||||
display: inline-block;
|
||||
padding: 5px 5px 10px;
|
||||
font-size: 14px;
|
||||
font-weight: initial;
|
||||
max-width: 100%;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-opacity: 0.9;
|
||||
-moz-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
}
|
||||
.fr-view button.fr-rounded,
|
||||
.fr-view input.fr-rounded,
|
||||
.fr-view textarea.fr-rounded {
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
.fr-view button.fr-large,
|
||||
.fr-view input.fr-large,
|
||||
.fr-view textarea.fr-large {
|
||||
font-size: 24px;
|
||||
}
|
||||
/**
|
||||
* Image style.
|
||||
*/
|
||||
a.fr-view.fr-strong {
|
||||
font-weight: 700;
|
||||
}
|
||||
a.fr-view.fr-green {
|
||||
color: green;
|
||||
}
|
||||
/**
|
||||
* Link style.
|
||||
*/
|
||||
img.fr-view {
|
||||
position: relative;
|
||||
max-width: 100%;
|
||||
}
|
||||
img.fr-view.fr-dib {
|
||||
margin: 5px auto;
|
||||
display: block;
|
||||
float: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
img.fr-view.fr-dib.fr-fil {
|
||||
margin-left: 0;
|
||||
text-align: left;
|
||||
}
|
||||
img.fr-view.fr-dib.fr-fir {
|
||||
margin-right: 0;
|
||||
text-align: right;
|
||||
}
|
||||
img.fr-view.fr-dii {
|
||||
display: inline-block;
|
||||
float: none;
|
||||
vertical-align: bottom;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
max-width: calc(100% - (2 * 5px));
|
||||
}
|
||||
img.fr-view.fr-dii.fr-fil {
|
||||
float: left;
|
||||
margin: 5px 5px 5px 0;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
img.fr-view.fr-dii.fr-fir {
|
||||
float: right;
|
||||
margin: 5px 0 5px 5px;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
span.fr-img-caption.fr-view {
|
||||
position: relative;
|
||||
max-width: 100%;
|
||||
}
|
||||
span.fr-img-caption.fr-view.fr-dib {
|
||||
margin: 5px auto;
|
||||
display: block;
|
||||
float: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
span.fr-img-caption.fr-view.fr-dib.fr-fil {
|
||||
margin-left: 0;
|
||||
text-align: left;
|
||||
}
|
||||
span.fr-img-caption.fr-view.fr-dib.fr-fir {
|
||||
margin-right: 0;
|
||||
text-align: right;
|
||||
}
|
||||
span.fr-img-caption.fr-view.fr-dii {
|
||||
display: inline-block;
|
||||
float: none;
|
||||
vertical-align: bottom;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
max-width: calc(100% - (2 * 5px));
|
||||
}
|
||||
span.fr-img-caption.fr-view.fr-dii.fr-fil {
|
||||
float: left;
|
||||
margin: 5px 5px 5px 0;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
span.fr-img-caption.fr-view.fr-dii.fr-fir {
|
||||
float: right;
|
||||
margin: 5px 0 5px 5px;
|
||||
max-width: calc(100% - 5px);
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,57 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-box .fr-counter {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
padding: 5px;
|
||||
right: 0px;
|
||||
color: #cccccc;
|
||||
content: attr(data-chars);
|
||||
font-size: 15px;
|
||||
font-family: "Times New Roman", Georgia, Serif;
|
||||
z-index: 1;
|
||||
background: #ffffff;
|
||||
border-top: solid 1px #ebebeb;
|
||||
border-left: solid 1px #ebebeb;
|
||||
border-radius: 2px 0 0 0;
|
||||
-moz-border-radius: 2px 0 0 0;
|
||||
-webkit-border-radius: 2px 0 0 0;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
.fr-box.fr-rtl .fr-counter {
|
||||
left: 0px;
|
||||
right: auto;
|
||||
border-left: none;
|
||||
border-right: solid 1px #ebebeb;
|
||||
border-radius: 0 2px 0 0;
|
||||
-moz-border-radius: 0 2px 0 0;
|
||||
-webkit-border-radius: 0 2px 0 0;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
.fr-box.fr-code-view .fr-counter {
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-box .fr-counter{position:absolute;bottom:0;padding:5px;right:0;color:#ccc;content:attr(data-chars);font-size:15px;font-family:"Times New Roman",Georgia,Serif;z-index:1;background:#fff;border-top:solid 1px #ebebeb;border-left:solid 1px #ebebeb;border-radius:2px 0 0;-moz-border-radius:2px 0 0;-webkit-border-radius:2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-box.fr-rtl .fr-counter{left:0;right:auto;border-left:0;border-right:solid 1px #ebebeb;border-radius:0 2px 0 0;-moz-border-radius:0 2px 0 0;-webkit-border-radius:0 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-box.fr-code-view .fr-counter{display:none}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
textarea.fr-code {
|
||||
display: none;
|
||||
width: 100%;
|
||||
resize: none;
|
||||
-moz-resize: none;
|
||||
-webkit-resize: none;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border: none;
|
||||
padding: 10px;
|
||||
margin: 0px;
|
||||
font-family: "Courier New", monospace;
|
||||
font-size: 14px;
|
||||
background: #ffffff;
|
||||
color: #000000;
|
||||
outline: none;
|
||||
}
|
||||
.fr-box.fr-rtl textarea.fr-code {
|
||||
direction: rtl;
|
||||
}
|
||||
.fr-box .CodeMirror {
|
||||
display: none;
|
||||
}
|
||||
.fr-box.fr-code-view textarea.fr-code {
|
||||
display: block;
|
||||
}
|
||||
.fr-box.fr-code-view.fr-inline {
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
}
|
||||
.fr-box.fr-code-view .fr-element,
|
||||
.fr-box.fr-code-view .fr-placeholder,
|
||||
.fr-box.fr-code-view .fr-iframe {
|
||||
display: none;
|
||||
}
|
||||
.fr-box.fr-code-view .CodeMirror {
|
||||
display: block;
|
||||
}
|
||||
.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch {
|
||||
display: block;
|
||||
}
|
||||
.fr-box.fr-inline .fr-command.fr-btn.html-switch {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
display: none;
|
||||
background: #ffffff;
|
||||
color: #222222;
|
||||
-moz-outline: 0;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
padding: 12px 12px;
|
||||
-webkit-transition: background 0.2s ease 0s;
|
||||
-moz-transition: background 0.2s ease 0s;
|
||||
-ms-transition: background 0.2s ease 0s;
|
||||
-o-transition: background 0.2s ease 0s;
|
||||
border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
z-index: 2;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
text-decoration: none;
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.fr-box.fr-inline .fr-command.fr-btn.html-switch i {
|
||||
font-size: 14px;
|
||||
width: 14px;
|
||||
text-align: center;
|
||||
}
|
||||
.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}textarea.fr-code{display:none;width:100%;resize:none;-moz-resize:none;-webkit-resize:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:0;padding:10px;margin:0;font-family:"Courier New",monospace;font-size:14px;background:#fff;color:#000;outline:0}.fr-box.fr-rtl textarea.fr-code{direction:rtl}.fr-box .CodeMirror{display:none}.fr-box.fr-code-view textarea.fr-code{display:block}.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-box.fr-code-view .fr-element,.fr-box.fr-code-view .fr-placeholder,.fr-box.fr-code-view .fr-iframe{display:none}.fr-box.fr-code-view .CodeMirror{display:block}.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch{display:block}.fr-box.fr-inline .fr-command.fr-btn.html-switch{position:absolute;top:0;right:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);display:none;background:#fff;color:#222;-moz-outline:0;outline:0;border:0;line-height:1;cursor:pointer;text-align:left;padding:12px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:14px;width:14px;text-align:center}.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#ebebeb}
|
||||
+154
@@ -0,0 +1,154 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-popup .fr-colors-tabs {
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
margin-bottom: 5px;
|
||||
line-height: 16px;
|
||||
margin-left: -2px;
|
||||
margin-right: -2px;
|
||||
}
|
||||
.fr-popup .fr-colors-tabs .fr-colors-tab {
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
color: #222222;
|
||||
font-size: 13px;
|
||||
padding: 8px 0;
|
||||
position: relative;
|
||||
}
|
||||
.fr-popup .fr-colors-tabs .fr-colors-tab:hover,
|
||||
.fr-popup .fr-colors-tabs .fr-colors-tab:focus {
|
||||
color: #1e88e5;
|
||||
}
|
||||
.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
background: #1e88e5;
|
||||
content: '';
|
||||
-webkit-transition: transform 0.2s ease 0s;
|
||||
-moz-transition: transform 0.2s ease 0s;
|
||||
-ms-transition: transform 0.2s ease 0s;
|
||||
-o-transition: transform 0.2s ease 0s;
|
||||
}
|
||||
.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab {
|
||||
color: #1e88e5;
|
||||
}
|
||||
.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after {
|
||||
-webkit-transform: translate3d(-100%, 0, 0);
|
||||
-moz-transform: translate3d(-100%, 0, 0);
|
||||
-ms-transform: translate3d(-100%, 0, 0);
|
||||
-o-transform: translate3d(-100%, 0, 0);
|
||||
}
|
||||
.fr-popup .fr-color-hex-layer {
|
||||
width: 100%;
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
}
|
||||
.fr-popup .fr-color-hex-layer .fr-input-line {
|
||||
float: left;
|
||||
width: calc(100% - 50px);
|
||||
padding: 8px 0 0;
|
||||
}
|
||||
.fr-popup .fr-color-hex-layer .fr-action-buttons {
|
||||
float: right;
|
||||
width: 50px;
|
||||
}
|
||||
.fr-popup .fr-color-hex-layer .fr-action-buttons button {
|
||||
background-color: #1e88e5;
|
||||
color: #FFF;
|
||||
border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
font-size: 13px;
|
||||
height: 32px;
|
||||
}
|
||||
.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover {
|
||||
background-color: #166dba;
|
||||
color: #FFF;
|
||||
}
|
||||
.fr-popup .fr-separator + .fr-colors-tabs {
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
margin-left: 2px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
.fr-popup .fr-color-set {
|
||||
line-height: 0;
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-color-set.fr-selected-set {
|
||||
display: block;
|
||||
}
|
||||
.fr-popup .fr-color-set > span {
|
||||
display: inline-block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.fr-popup .fr-color-set > span > i {
|
||||
text-align: center;
|
||||
line-height: 32px;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
font-size: 13px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
cursor: default;
|
||||
left: 0;
|
||||
}
|
||||
.fr-popup .fr-color-set > span .fr-selected-color {
|
||||
color: #ffffff;
|
||||
font-family: FontAwesome;
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
text-align: center;
|
||||
cursor: default;
|
||||
}
|
||||
.fr-popup .fr-color-set > span:hover,
|
||||
.fr-popup .fr-color-set > span:focus {
|
||||
outline: 1px solid #222222;
|
||||
z-index: 2;
|
||||
}
|
||||
.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after {
|
||||
-webkit-transform: translate3d(100%, 0, 0);
|
||||
-moz-transform: translate3d(100%, 0, 0);
|
||||
-ms-transform: translate3d(100%, 0, 0);
|
||||
-o-transform: translate3d(100%, 0, 0);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-colors-tabs{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);margin-bottom:5px;line-height:16px;margin-left:-2px;margin-right:-2px}.fr-popup .fr-colors-tabs .fr-colors-tab{display:inline-block;width:50%;cursor:pointer;text-align:center;color:#222;font-size:13px;padding:8px 0;position:relative}.fr-popup .fr-colors-tabs .fr-colors-tab:hover,.fr-popup .fr-colors-tabs .fr-colors-tab:focus{color:#1e88e5}.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1=background]::after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#1e88e5;content:'';-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s}.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#1e88e5}.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1=text]~[data-param1=background]::after{-webkit-transform:translate3d(-100%,0,0);-moz-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);-o-transform:translate3d(-100%,0,0)}.fr-popup .fr-color-hex-layer{width:100%;margin:0;padding:10px}.fr-popup .fr-color-hex-layer .fr-input-line{float:left;width:calc(100% - 50px);padding:8px 0 0}.fr-popup .fr-color-hex-layer .fr-action-buttons{float:right;width:50px}.fr-popup .fr-color-hex-layer .fr-action-buttons button{background-color:#1e88e5;color:#FFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-size:13px;height:32px}.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover{background-color:#166dba;color:#FFF}.fr-popup .fr-separator+.fr-colors-tabs{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin-left:2px;margin-right:2px}.fr-popup .fr-color-set{line-height:0;display:none}.fr-popup .fr-color-set.fr-selected-set{display:block}.fr-popup .fr-color-set>span{display:inline-block;width:32px;height:32px;position:relative;z-index:1}.fr-popup .fr-color-set>span>i{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0}.fr-popup .fr-color-set>span .fr-selected-color{color:#fff;font-family:FontAwesome;font-size:13px;font-weight:400;line-height:32px;position:absolute;top:0;bottom:0;right:0;left:0;text-align:center;cursor:default}.fr-popup .fr-color-set>span:hover,.fr-popup .fr-color-set>span:focus{outline:1px solid #222;z-index:2}.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1=text]~[data-param1=background]::after{-webkit-transform:translate3d(100%,0,0);-moz-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);-o-transform:translate3d(100%,0,0)}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-drag-helper {
|
||||
background: #1e88e5;
|
||||
height: 2px;
|
||||
margin-top: -1px;
|
||||
-webkit-opacity: 0.2;
|
||||
-moz-opacity: 0.2;
|
||||
opacity: 0.2;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
position: absolute;
|
||||
z-index: 2147483640;
|
||||
display: none;
|
||||
}
|
||||
.fr-drag-helper.fr-visible {
|
||||
display: block;
|
||||
}
|
||||
.fr-dragging {
|
||||
-webkit-opacity: 0.4;
|
||||
-moz-opacity: 0.4;
|
||||
opacity: 0.4;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-drag-helper{background:#1e88e5;height:2px;margin-top:-1px;-webkit-opacity:.2;-moz-opacity:.2;opacity:.2;-ms-filter:"alpha(Opacity=0)";position:absolute;z-index:2147483640;display:none}.fr-drag-helper.fr-visible{display:block}.fr-dragging{-webkit-opacity:.4;-moz-opacity:.4;opacity:.4;-ms-filter:"alpha(Opacity=0)"}
|
||||
@@ -0,0 +1,42 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-popup .fr-emoticon {
|
||||
display: inline-block;
|
||||
font-size: 20px;
|
||||
width: 20px;
|
||||
padding: 5px;
|
||||
line-height: 1;
|
||||
cursor: default;
|
||||
font-weight: normal;
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
.fr-popup .fr-emoticon img {
|
||||
height: 20px;
|
||||
}
|
||||
.fr-popup .fr-link:focus {
|
||||
outline: 0;
|
||||
background: #ebebeb;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-emoticon{display:inline-block;font-size:20px;width:20px;padding:5px;line-height:1;cursor:default;font-weight:400;font-family:"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-popup .fr-emoticon img{height:20px}.fr-popup .fr-link:focus{outline:0;background:#ebebeb}
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-popup .fr-file-upload-layer {
|
||||
border: dashed 2px #bdbdbd;
|
||||
padding: 25px 0;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
letter-spacing: 1px;
|
||||
line-height: 140%;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
}
|
||||
.fr-popup .fr-file-upload-layer:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
.fr-popup .fr-file-upload-layer.fr-drop {
|
||||
background: #ebebeb;
|
||||
border-color: #1e88e5;
|
||||
}
|
||||
.fr-popup .fr-file-upload-layer .fr-form {
|
||||
-webkit-opacity: 0;
|
||||
-moz-opacity: 0;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 2147483640;
|
||||
overflow: hidden;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.fr-popup .fr-file-upload-layer .fr-form input {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
width: 500%;
|
||||
height: 100%;
|
||||
margin: 0px;
|
||||
font-size: 400px;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer > h3 {
|
||||
font-size: 16px;
|
||||
margin: 10px 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer > div.fr-action-buttons {
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer > div.fr-loader {
|
||||
background: #bcdbf7;
|
||||
height: 10px;
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer > div.fr-loader span {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: 0%;
|
||||
background: #1e88e5;
|
||||
-webkit-transition: width 0.2s ease 0s;
|
||||
-moz-transition: width 0.2s ease 0s;
|
||||
-ms-transition: width 0.2s ease 0s;
|
||||
-o-transition: width 0.2s ease 0s;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span {
|
||||
width: 30% !important;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
-webkit-animation: loading 2s linear infinite;
|
||||
-moz-animation: loading 2s linear infinite;
|
||||
-o-animation: loading 2s linear infinite;
|
||||
animation: loading 2s linear infinite;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-loader {
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-action-buttons {
|
||||
display: block;
|
||||
}
|
||||
@keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@-o-keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-file-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center}.fr-popup .fr-file-upload-layer:hover{background:#ebebeb}.fr-popup .fr-file-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-file-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-file-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-file-progress-bar-layer{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-popup .fr-file-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-file-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-file-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-file-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-file-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-file-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-file-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}@keyframes loading{from{left:-25%}to{left:100%}}@-webkit-keyframes loading{from{left:-25%}to{left:100%}}@-moz-keyframes loading{from{left:-25%}to{left:100%}}@-o-keyframes loading{from{left:-25%}to{left:100%}}
|
||||
@@ -0,0 +1,28 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
body.fr-fullscreen {
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
}
|
||||
.fr-box.fr-fullscreen {
|
||||
margin: 0 !important;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: 2147483630 !important;
|
||||
width: auto !important;
|
||||
}
|
||||
.fr-box.fr-fullscreen .fr-toolbar.fr-top {
|
||||
top: 0 !important;
|
||||
}
|
||||
.fr-box.fr-fullscreen .fr-toolbar.fr-bottom {
|
||||
bottom: 0 !important;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
body.fr-fullscreen{overflow:hidden;height:100%;width:100%;position:fixed}.fr-box.fr-fullscreen{margin:0!important;position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483630!important;width:auto!important}.fr-box.fr-fullscreen .fr-toolbar.fr-top{top:0!important}.fr-box.fr-fullscreen .fr-toolbar.fr-bottom{bottom:0!important}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal {
|
||||
text-align: left;
|
||||
padding: 20px 20px 10px;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table {
|
||||
border-collapse: collapse;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
width: 100%;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table + table {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr {
|
||||
border: 0;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th,
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table td {
|
||||
padding: 6px 0 4px;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr {
|
||||
border-bottom: solid 1px #ebebeb;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child {
|
||||
width: 60%;
|
||||
color: #646464;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:nth-child(n+2) {
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal{text-align:left;padding:20px 20px 10px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table{border-collapse:collapse;font-size:14px;line-height:1.5;width:100%}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table+table{margin-top:20px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr{border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th,.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table td{padding:6px 0 4px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr{border-bottom:solid 1px #ebebeb}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child{width:60%;color:#646464}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:nth-child(n+2){letter-spacing:.5px}
|
||||
+244
@@ -0,0 +1,244 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-element img {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fr-image-resizer {
|
||||
position: absolute;
|
||||
border: solid 1px #1e88e5;
|
||||
display: none;
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
.fr-image-resizer.fr-active {
|
||||
display: block;
|
||||
}
|
||||
.fr-image-resizer .fr-handler {
|
||||
display: block;
|
||||
position: absolute;
|
||||
background: #1e88e5;
|
||||
border: solid 1px #ffffff;
|
||||
z-index: 4;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hnw {
|
||||
cursor: nw-resize;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hne {
|
||||
cursor: ne-resize;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hsw {
|
||||
cursor: sw-resize;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hse {
|
||||
cursor: se-resize;
|
||||
}
|
||||
.fr-image-resizer .fr-handler {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hnw {
|
||||
left: -6px;
|
||||
top: -6px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hne {
|
||||
right: -6px;
|
||||
top: -6px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hsw {
|
||||
left: -6px;
|
||||
bottom: -6px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hse {
|
||||
right: -6px;
|
||||
bottom: -6px;
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.fr-image-resizer .fr-handler {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hnw {
|
||||
left: -5px;
|
||||
top: -5px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hne {
|
||||
right: -5px;
|
||||
top: -5px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hsw {
|
||||
left: -5px;
|
||||
bottom: -5px;
|
||||
}
|
||||
.fr-image-resizer .fr-handler.fr-hse {
|
||||
right: -5px;
|
||||
bottom: -5px;
|
||||
}
|
||||
}
|
||||
.fr-image-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: 2147483640;
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-image-upload-layer {
|
||||
border: dashed 2px #bdbdbd;
|
||||
padding: 25px 0;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
letter-spacing: 1px;
|
||||
line-height: 140%;
|
||||
text-align: center;
|
||||
}
|
||||
.fr-popup .fr-image-upload-layer:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
.fr-popup .fr-image-upload-layer.fr-drop {
|
||||
background: #ebebeb;
|
||||
border-color: #1e88e5;
|
||||
}
|
||||
.fr-popup .fr-image-upload-layer .fr-form {
|
||||
-webkit-opacity: 0;
|
||||
-moz-opacity: 0;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 2147483640;
|
||||
overflow: hidden;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.fr-popup .fr-image-upload-layer .fr-form input {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
width: 500%;
|
||||
height: 100%;
|
||||
margin: 0px;
|
||||
font-size: 400px;
|
||||
}
|
||||
.fr-popup .fr-image-progress-bar-layer > h3 {
|
||||
font-size: 16px;
|
||||
margin: 10px 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.fr-popup .fr-image-progress-bar-layer > div.fr-action-buttons {
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-image-progress-bar-layer > div.fr-loader {
|
||||
background: #bcdbf7;
|
||||
height: 10px;
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.fr-popup .fr-image-progress-bar-layer > div.fr-loader span {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: 0%;
|
||||
background: #1e88e5;
|
||||
-webkit-transition: width 0.2s ease 0s;
|
||||
-moz-transition: width 0.2s ease 0s;
|
||||
-ms-transition: width 0.2s ease 0s;
|
||||
-o-transition: width 0.2s ease 0s;
|
||||
}
|
||||
.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span {
|
||||
width: 30% !important;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
-webkit-animation: loading 2s linear infinite;
|
||||
-moz-animation: loading 2s linear infinite;
|
||||
-o-animation: loading 2s linear infinite;
|
||||
animation: loading 2s linear infinite;
|
||||
}
|
||||
.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-loader {
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-action-buttons {
|
||||
display: block;
|
||||
}
|
||||
.fr-image-size-layer .fr-image-group .fr-input-line {
|
||||
width: calc(50% - 5px);
|
||||
display: inline-block;
|
||||
}
|
||||
.fr-image-size-layer .fr-image-group .fr-input-line + .fr-input-line {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.fr-uploading {
|
||||
-webkit-opacity: 0.4;
|
||||
-moz-opacity: 0.4;
|
||||
opacity: 0.4;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
}
|
||||
@keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@-o-keyframes loading {
|
||||
from {
|
||||
left: -25%;
|
||||
}
|
||||
to {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element img{cursor:pointer}.fr-image-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-image-resizer.fr-active{display:block}.fr-image-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #fff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-image-resizer .fr-handler.fr-hnw{cursor:nw-resize}.fr-image-resizer .fr-handler.fr-hne{cursor:ne-resize}.fr-image-resizer .fr-handler.fr-hsw{cursor:sw-resize}.fr-image-resizer .fr-handler.fr-hse{cursor:se-resize}.fr-image-resizer .fr-handler{width:12px;height:12px}.fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.fr-image-resizer .fr-handler{width:10px;height:10px}.fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.fr-image-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483640;display:none}.fr-popup .fr-image-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;text-align:center}.fr-popup .fr-image-upload-layer:hover{background:#ebebeb}.fr-popup .fr-image-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-image-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-image-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-image-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-image-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-image-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-image-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-image-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-image-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-image-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}.fr-image-size-layer .fr-image-group .fr-input-line{width:calc(50% - 5px);display:inline-block}.fr-image-size-layer .fr-image-group .fr-input-line+.fr-input-line{margin-left:10px}.fr-uploading{-webkit-opacity:.4;-moz-opacity:.4;opacity:.4;-ms-filter:"alpha(Opacity=0)"}@keyframes loading{from{left:-25%}to{left:100%}}@-webkit-keyframes loading{from{left:-25%}to{left:100%}}@-moz-keyframes loading{from{left:-25%}to{left:100%}}@-o-keyframes loading{from{left:-25%}to{left:100%}}
|
||||
@@ -0,0 +1,265 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-modal-head .fr-modal-head-line::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.fr-modal-head .fr-modal-head-line i.fr-modal-more {
|
||||
float: left;
|
||||
opacity: 1;
|
||||
-webkit-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s;
|
||||
-moz-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s;
|
||||
-ms-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s;
|
||||
-o-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s;
|
||||
}
|
||||
.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
padding: 12px 0;
|
||||
}
|
||||
.fr-modal-head .fr-modal-tags {
|
||||
display: none;
|
||||
text-align: left;
|
||||
}
|
||||
.fr-modal-head .fr-modal-tags a {
|
||||
display: inline-block;
|
||||
opacity: 0;
|
||||
padding: 6px 8px;
|
||||
margin: 8px 0 8px 8px;
|
||||
text-decoration: none;
|
||||
border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
color: #1e88e5;
|
||||
-webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
|
||||
-moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
|
||||
-ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
|
||||
-o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
|
||||
cursor: pointer;
|
||||
}
|
||||
.fr-modal-head .fr-modal-tags a:focus {
|
||||
outline: none;
|
||||
}
|
||||
.fr-modal-head .fr-modal-tags a.fr-selected-tag {
|
||||
background: #d6d6d6;
|
||||
}
|
||||
div.fr-modal-body .fr-preloader {
|
||||
display: block;
|
||||
margin: 50px auto;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list {
|
||||
text-align: center;
|
||||
margin: 0 10px;
|
||||
padding: 0;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list .fr-list-column {
|
||||
float: left;
|
||||
width: calc((100% - 10px) / 2);
|
||||
}
|
||||
@media (min-width: 768px) and (max-width: 1199px) {
|
||||
div.fr-modal-body div.fr-image-list .fr-list-column {
|
||||
width: calc((100% - 20px) / 3);
|
||||
}
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
div.fr-modal-body div.fr-image-list .fr-list-column {
|
||||
width: calc((100% - 30px) / 4);
|
||||
}
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list .fr-list-column + .fr-list-column {
|
||||
margin-left: 10px;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: block;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container:first-child {
|
||||
margin-top: 10px;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container + div {
|
||||
margin-top: 10px;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after {
|
||||
position: absolute;
|
||||
-webkit-opacity: 0.5;
|
||||
-moz-opacity: 0.5;
|
||||
opacity: 0.5;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
-webkit-transition: opacity 0.2s ease 0s;
|
||||
-moz-transition: opacity 0.2s ease 0s;
|
||||
-ms-transition: opacity 0.2s ease 0s;
|
||||
-o-transition: opacity 0.2s ease 0s;
|
||||
background: #000000;
|
||||
content: "";
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before {
|
||||
content: attr(data-deleting);
|
||||
color: #ffffff;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
font-size: 15px;
|
||||
height: 20px;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty {
|
||||
height: 95px;
|
||||
background: #cccccc;
|
||||
z-index: 1;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after {
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
content: attr(data-loading);
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container img {
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
-webkit-opacity: 1;
|
||||
-moz-opacity: 1;
|
||||
opacity: 1;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
-webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
|
||||
-moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
|
||||
-ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
|
||||
-o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
|
||||
-webkit-transform: translateZ(0);
|
||||
-moz-transform: translateZ(0);
|
||||
-ms-transform: translateZ(0);
|
||||
-o-transform: translateZ(0);
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected img {
|
||||
-webkit-opacity: 0.75;
|
||||
-moz-opacity: 0.75;
|
||||
opacity: 0.75;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-delete-img,
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-insert-img {
|
||||
display: inline-block;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img,
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img {
|
||||
display: none;
|
||||
top: 50%;
|
||||
border-radius: 100%;
|
||||
-moz-border-radius: 100%;
|
||||
-webkit-border-radius: 100%;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
-webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s;
|
||||
-moz-transition: background 0.2s ease 0s, color 0.2s ease 0s;
|
||||
-ms-transition: background 0.2s ease 0s, color 0.2s ease 0s;
|
||||
-o-transition: background 0.2s ease 0s, color 0.2s ease 0s;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
text-decoration: none;
|
||||
z-index: 3;
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img {
|
||||
background: #b8312f;
|
||||
color: #ffffff;
|
||||
left: 50%;
|
||||
-webkit-transform: translateY(-50%) translateX(25%);
|
||||
-moz-transform: translateY(-50%) translateX(25%);
|
||||
-ms-transform: translateY(-50%) translateX(25%);
|
||||
-o-transform: translateY(-50%) translateX(25%);
|
||||
}
|
||||
div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img {
|
||||
background: #ffffff;
|
||||
color: #1e88e5;
|
||||
left: 50%;
|
||||
-webkit-transform: translateY(-50%) translateX(-125%);
|
||||
-moz-transform: translateY(-50%) translateX(-125%);
|
||||
-ms-transform: translateY(-50%) translateX(-125%);
|
||||
-o-transform: translateY(-50%) translateX(-125%);
|
||||
}
|
||||
.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag {
|
||||
background: #d6d6d6;
|
||||
}
|
||||
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover img {
|
||||
-webkit-opacity: 0.75;
|
||||
-moz-opacity: 0.75;
|
||||
opacity: 0.75;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
}
|
||||
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-delete-img,
|
||||
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-insert-img {
|
||||
display: inline-block;
|
||||
}
|
||||
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover {
|
||||
background: #bf4644;
|
||||
color: #ffffff;
|
||||
}
|
||||
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,37 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-line-breaker {
|
||||
cursor: text;
|
||||
border-top: 1px solid #1e88e5;
|
||||
position: fixed;
|
||||
z-index: 2;
|
||||
display: none;
|
||||
}
|
||||
.fr-line-breaker.fr-visible {
|
||||
display: block;
|
||||
}
|
||||
.fr-line-breaker a.fr-floating-btn {
|
||||
position: absolute;
|
||||
left: calc(50% - (32px / 2));
|
||||
top: -16px;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-line-breaker{cursor:text;border-top:1px solid #1e88e5;position:fixed;z-index:2;display:none}.fr-line-breaker.fr-visible{display:block}.fr-line-breaker a.fr-floating-btn{position:absolute;left:calc(50% - (32px / 2));top:-16px}
|
||||
@@ -0,0 +1,70 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-quick-insert {
|
||||
position: absolute;
|
||||
z-index: 2147483639;
|
||||
white-space: nowrap;
|
||||
padding-right: 5px;
|
||||
margin-left: -5px;
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
.fr-quick-insert.fr-on a.fr-floating-btn svg {
|
||||
-webkit-transform: rotate(135deg);
|
||||
-moz-transform: rotate(135deg);
|
||||
-ms-transform: rotate(135deg);
|
||||
-o-transform: rotate(135deg);
|
||||
}
|
||||
.fr-quick-insert.fr-hidden {
|
||||
display: none;
|
||||
}
|
||||
.fr-qi-helper {
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
padding-left: 16px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.fr-qi-helper a.fr-btn.fr-floating-btn {
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
color: #222222;
|
||||
-webkit-opacity: 0;
|
||||
-moz-opacity: 0;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
-webkit-transform: scale(0);
|
||||
-moz-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
}
|
||||
.fr-qi-helper a.fr-btn.fr-floating-btn.fr-size-1 {
|
||||
-webkit-opacity: 1;
|
||||
-moz-opacity: 1;
|
||||
opacity: 1;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-quick-insert{position:absolute;z-index:2147483639;white-space:nowrap;padding-right:5px;margin-left:-5px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-quick-insert.fr-on a.fr-floating-btn svg{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg)}.fr-quick-insert.fr-hidden{display:none}.fr-qi-helper{position:absolute;z-index:3;padding-left:16px;white-space:nowrap}.fr-qi-helper a.fr-btn.fr-floating-btn{text-align:center;display:inline-block;color:#222;-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0)}.fr-qi-helper a.fr-btn.fr-floating-btn.fr-size-1{-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"alpha(Opacity=0)";-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1)}
|
||||
@@ -0,0 +1,51 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal {
|
||||
text-align: left;
|
||||
padding: 20px 20px 10px;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-list {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-title {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
padding: 6px 0 4px;
|
||||
margin: 0 0 5px;
|
||||
}
|
||||
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character {
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 5px;
|
||||
line-height: 20px;
|
||||
cursor: default;
|
||||
font-weight: normal;
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
border: 1px solid #cccccc;
|
||||
margin: -1px 0 0 -1px;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal{text-align:left;padding:20px 20px 10px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-list{margin-bottom:20px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-title{font-weight:700;font-size:14px;padding:6px 0 4px;margin:0 0 5px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character{display:inline-block;font-size:16px;width:20px;height:20px;padding:5px;line-height:20px;cursor:default;font-weight:400;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;border:1px solid #ccc;margin:-1px 0 0 -1px}
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-element table td.fr-selected-cell,
|
||||
.fr-element table th.fr-selected-cell {
|
||||
border: 1px double #1e88e5;
|
||||
}
|
||||
.fr-element table tr {
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.fr-element table td,
|
||||
.fr-element table th {
|
||||
user-select: text;
|
||||
-o-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-khtml-user-select: text;
|
||||
-webkit-user-select: text;
|
||||
-ms-user-select: text;
|
||||
}
|
||||
.fr-element .fr-no-selection table td,
|
||||
.fr-element .fr-no-selection table th {
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.fr-table-resizer {
|
||||
cursor: col-resize;
|
||||
position: fixed;
|
||||
z-index: 3;
|
||||
display: none;
|
||||
}
|
||||
.fr-table-resizer.fr-moving {
|
||||
z-index: 2;
|
||||
}
|
||||
.fr-table-resizer div {
|
||||
-webkit-opacity: 0;
|
||||
-moz-opacity: 0;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
border-right: 1px solid #1e88e5;
|
||||
}
|
||||
.fr-no-selection {
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.fr-popup .fr-table-colors-hex-layer {
|
||||
width: 100%;
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
}
|
||||
.fr-popup .fr-table-colors-hex-layer .fr-input-line {
|
||||
float: left;
|
||||
width: calc(100% - 50px);
|
||||
padding: 8px 0 0;
|
||||
}
|
||||
.fr-popup .fr-table-colors-hex-layer .fr-action-buttons {
|
||||
float: right;
|
||||
width: 50px;
|
||||
}
|
||||
.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button {
|
||||
background-color: #1e88e5;
|
||||
color: #FFF;
|
||||
border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-background-clip: padding;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
font-size: 13px;
|
||||
height: 32px;
|
||||
}
|
||||
.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover {
|
||||
background-color: #166dba;
|
||||
color: #FFF;
|
||||
}
|
||||
.fr-popup .fr-table-size .fr-table-size-info {
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
padding: 8px;
|
||||
}
|
||||
.fr-popup .fr-table-size .fr-select-table-size {
|
||||
line-height: 0;
|
||||
padding: 0 5px 5px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.fr-popup .fr-table-size .fr-select-table-size > span {
|
||||
display: inline-block;
|
||||
padding: 0px 4px 4px 0;
|
||||
background: transparent;
|
||||
}
|
||||
.fr-popup .fr-table-size .fr-select-table-size > span > span {
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 1px solid #dddddd;
|
||||
}
|
||||
.fr-popup .fr-table-size .fr-select-table-size > span.hover {
|
||||
background: transparent;
|
||||
}
|
||||
.fr-popup .fr-table-size .fr-select-table-size > span.hover > span {
|
||||
background: rgba(30, 136, 229, 0.3);
|
||||
border: solid 1px #1e88e5;
|
||||
}
|
||||
.fr-popup .fr-table-size .fr-select-table-size .new-line::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.fr-popup.fr-above .fr-table-size .fr-select-table-size > span {
|
||||
display: inline-block !important;
|
||||
}
|
||||
.fr-popup .fr-table-colors-buttons {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.fr-popup .fr-table-colors {
|
||||
line-height: 0;
|
||||
display: block;
|
||||
}
|
||||
.fr-popup .fr-table-colors > span {
|
||||
display: inline-block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.fr-popup .fr-table-colors > span > i {
|
||||
text-align: center;
|
||||
line-height: 32px;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
font-size: 13px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
cursor: default;
|
||||
left: 0;
|
||||
}
|
||||
.fr-popup .fr-table-colors > span:focus {
|
||||
outline: 1px solid #222222;
|
||||
z-index: 2;
|
||||
}
|
||||
.fr-popup.fr-desktop .fr-table-size .fr-select-table-size > span > span {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
.fr-insert-helper {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
white-space: nowrap;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element table td.fr-selected-cell,.fr-element table th.fr-selected-cell{border:1px double #1e88e5}.fr-element table tr{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element table td,.fr-element table th{user-select:text;-o-user-select:text;-moz-user-select:text;-khtml-user-select:text;-webkit-user-select:text;-ms-user-select:text}.fr-element .fr-no-selection table td,.fr-element .fr-no-selection table th{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-table-resizer{cursor:col-resize;position:fixed;z-index:3;display:none}.fr-table-resizer.fr-moving{z-index:2}.fr-table-resizer div{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";border-right:1px solid #1e88e5}.fr-no-selection{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-popup .fr-table-colors-hex-layer{width:100%;margin:0;padding:10px}.fr-popup .fr-table-colors-hex-layer .fr-input-line{float:left;width:calc(100% - 50px);padding:8px 0 0}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons{float:right;width:50px}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button{background-color:#1e88e5;color:#FFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-size:13px;height:32px}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover{background-color:#166dba;color:#FFF}.fr-popup .fr-table-size .fr-table-size-info{text-align:center;font-size:14px;padding:8px}.fr-popup .fr-table-size .fr-select-table-size{line-height:0;padding:0 5px 5px;white-space:nowrap}.fr-popup .fr-table-size .fr-select-table-size>span{display:inline-block;padding:0 4px 4px 0;background:0 0}.fr-popup .fr-table-size .fr-select-table-size>span>span{display:inline-block;width:18px;height:18px;border:1px solid #ddd}.fr-popup .fr-table-size .fr-select-table-size>span.hover{background:0 0}.fr-popup .fr-table-size .fr-select-table-size>span.hover>span{background:rgba(30,136,229,.3);border:solid 1px #1e88e5}.fr-popup .fr-table-size .fr-select-table-size .new-line::after{clear:both;display:block;content:"";height:0}.fr-popup.fr-above .fr-table-size .fr-select-table-size>span{display:inline-block!important}.fr-popup .fr-table-colors-buttons{margin-bottom:5px}.fr-popup .fr-table-colors{line-height:0;display:block}.fr-popup .fr-table-colors>span{display:inline-block;width:32px;height:32px;position:relative;z-index:1}.fr-popup .fr-table-colors>span>i{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0}.fr-popup .fr-table-colors>span:focus{outline:1px solid #222;z-index:2}.fr-popup.fr-desktop .fr-table-size .fr-select-table-size>span>span{width:12px;height:12px}.fr-insert-helper{position:fixed;z-index:9999;white-space:nowrap}
|
||||
+231
@@ -0,0 +1,231 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-element .fr-video {
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.fr-element .fr-video::after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
background: rgba(0, 0, 0, 0);
|
||||
}
|
||||
.fr-element .fr-video.fr-active > * {
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
}
|
||||
.fr-element .fr-video > * {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
max-width: 100%;
|
||||
border: none;
|
||||
}
|
||||
.fr-box .fr-video-resizer {
|
||||
position: absolute;
|
||||
border: solid 1px #1e88e5;
|
||||
display: none;
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.fr-box .fr-video-resizer.fr-active {
|
||||
display: block;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler {
|
||||
display: block;
|
||||
position: absolute;
|
||||
background: #1e88e5;
|
||||
border: solid 1px #ffffff;
|
||||
z-index: 4;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hnw {
|
||||
cursor: nw-resize;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hne {
|
||||
cursor: ne-resize;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hsw {
|
||||
cursor: sw-resize;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hse {
|
||||
cursor: se-resize;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hnw {
|
||||
left: -6px;
|
||||
top: -6px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hne {
|
||||
right: -6px;
|
||||
top: -6px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hsw {
|
||||
left: -6px;
|
||||
bottom: -6px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hse {
|
||||
right: -6px;
|
||||
bottom: -6px;
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.fr-box .fr-video-resizer .fr-handler {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hnw {
|
||||
left: -5px;
|
||||
top: -5px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hne {
|
||||
right: -5px;
|
||||
top: -5px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hsw {
|
||||
left: -5px;
|
||||
bottom: -5px;
|
||||
}
|
||||
.fr-box .fr-video-resizer .fr-handler.fr-hse {
|
||||
right: -5px;
|
||||
bottom: -5px;
|
||||
}
|
||||
}
|
||||
.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line {
|
||||
width: calc(50% - 5px);
|
||||
display: inline-block;
|
||||
}
|
||||
.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line + .fr-input-line {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.fr-popup .fr-video-upload-layer {
|
||||
border: dashed 2px #bdbdbd;
|
||||
padding: 25px 0;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
letter-spacing: 1px;
|
||||
line-height: 140%;
|
||||
text-align: center;
|
||||
}
|
||||
.fr-popup .fr-video-upload-layer:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
.fr-popup .fr-video-upload-layer.fr-drop {
|
||||
background: #ebebeb;
|
||||
border-color: #1e88e5;
|
||||
}
|
||||
.fr-popup .fr-video-upload-layer .fr-form {
|
||||
-webkit-opacity: 0;
|
||||
-moz-opacity: 0;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 2147483640;
|
||||
overflow: hidden;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.fr-popup .fr-video-upload-layer .fr-form input {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
width: 500%;
|
||||
height: 100%;
|
||||
margin: 0px;
|
||||
font-size: 400px;
|
||||
}
|
||||
.fr-popup .fr-video-progress-bar-layer > h3 {
|
||||
font-size: 16px;
|
||||
margin: 10px 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.fr-popup .fr-video-progress-bar-layer > div.fr-action-buttons {
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-video-progress-bar-layer > div.fr-loader {
|
||||
background: #bcdbf7;
|
||||
height: 10px;
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.fr-popup .fr-video-progress-bar-layer > div.fr-loader span {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: 0%;
|
||||
background: #1e88e5;
|
||||
-webkit-transition: width 0.2s ease 0s;
|
||||
-moz-transition: width 0.2s ease 0s;
|
||||
-ms-transition: width 0.2s ease 0s;
|
||||
-o-transition: width 0.2s ease 0s;
|
||||
}
|
||||
.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span {
|
||||
width: 30% !important;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
-webkit-animation: loading 2s linear infinite;
|
||||
-moz-animation: loading 2s linear infinite;
|
||||
-o-animation: loading 2s linear infinite;
|
||||
animation: loading 2s linear infinite;
|
||||
}
|
||||
.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-loader {
|
||||
display: none;
|
||||
}
|
||||
.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-action-buttons {
|
||||
display: block;
|
||||
}
|
||||
.fr-video-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: 2147483640;
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element .fr-video{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element .fr-video::after{position:absolute;content:'';z-index:1;top:0;left:0;right:0;bottom:0;cursor:pointer;display:block;background:rgba(0,0,0,0)}.fr-element .fr-video.fr-active>*{z-index:2;position:relative}.fr-element .fr-video>*{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:0}.fr-box .fr-video-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box .fr-video-resizer.fr-active{display:block}.fr-box .fr-video-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #fff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-box .fr-video-resizer .fr-handler.fr-hnw{cursor:nw-resize}.fr-box .fr-video-resizer .fr-handler.fr-hne{cursor:ne-resize}.fr-box .fr-video-resizer .fr-handler.fr-hsw{cursor:sw-resize}.fr-box .fr-video-resizer .fr-handler.fr-hse{cursor:se-resize}.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px}.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px}.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line{width:calc(50% - 5px);display:inline-block}.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line+.fr-input-line{margin-left:10px}.fr-popup .fr-video-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;text-align:center}.fr-popup .fr-video-upload-layer:hover{background:#ebebeb}.fr-popup .fr-video-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-video-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-video-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-video-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-video-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-video-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-video-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-video-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-video-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-video-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}.fr-video-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483640;display:none}
|
||||
+1277
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+1277
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+1277
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+1277
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,64 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.fr-element .fr-embedly {
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
position: relative;
|
||||
}
|
||||
.fr-element .fr-embedly::after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
background: rgba(0, 0, 0, 0);
|
||||
}
|
||||
.fr-element .fr-embedly > * {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
max-width: 100%;
|
||||
border: none;
|
||||
}
|
||||
.fr-box .fr-embedly-resizer {
|
||||
position: absolute;
|
||||
border: solid 1px #1e88e5;
|
||||
display: none;
|
||||
user-select: none;
|
||||
-o-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.fr-box .fr-embedly-resizer.fr-active {
|
||||
display: block;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element .fr-embedly{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;position:relative}.fr-element .fr-embedly::after{position:absolute;content:'';z-index:1;top:0;left:0;right:0;bottom:0;cursor:pointer;display:block;background:rgba(0,0,0,0)}.fr-element .fr-embedly>*{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:0}.fr-box .fr-embedly-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box .fr-embedly-resizer.fr-active{display:block}
|
||||
@@ -0,0 +1,72 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
display: block;
|
||||
content: "";
|
||||
height: 0;
|
||||
}
|
||||
.hide-by-clipping {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
.examples-variante > a {
|
||||
font-size: 14px;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
.sc-cm-holder > .sc-cm {
|
||||
border-top: 5px solid #222222 !important;
|
||||
padding: 0px !important;
|
||||
line-height: 200% !important;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16);
|
||||
}
|
||||
.sc-cm .sc-cm__item.examples-variante.sc-cm__item_active > a > i {
|
||||
display: none !important;
|
||||
}
|
||||
.sc-cm .sc-cm__item.examples-variante > a > i {
|
||||
display: none !important;
|
||||
}
|
||||
.sc-cm__item_dropdown .i-icon {
|
||||
display: none !important;
|
||||
}
|
||||
.sc-cm__item_dropdown .i-icon::before {
|
||||
display: none !important;
|
||||
}
|
||||
.sc-cm::before {
|
||||
display: none !important;
|
||||
}
|
||||
div.sc-cm-holder.sc-cm_show > ul > li.sc-cm__item.sc-cm__item_dropdown.sc-cm__item_arrow > div > ul {
|
||||
border-style: none !important;
|
||||
padding: 0px !important;
|
||||
}
|
||||
.sc-cm__item_dropdown:hover > a,
|
||||
.sc-cm a:hover {
|
||||
background-color: #ebebeb !important;
|
||||
}
|
||||
.sc-cm__item_active > a,
|
||||
.sc-cm__item_active > a:hover,
|
||||
.sc-cm a:active,
|
||||
.sc-cm a:focus {
|
||||
background-color: #d6d6d6 !important;
|
||||
}
|
||||
.sc-cm__item > a {
|
||||
line-height: 200% !important;
|
||||
}
|
||||
.sc-cm-holder > .sc-cm:before {
|
||||
background-color: #ebebeb !important;
|
||||
}
|
||||
.sc-cm-holder {
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* froala_editor v2.7.3 (https://www.froala.com/wysiwyg-editor)
|
||||
* License https://froala.com/wysiwyg-editor/terms/
|
||||
* Copyright 2014-2017 Froala Labs
|
||||
*/
|
||||
|
||||
.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.examples-variante>a{font-size:14px;font-family:Arial,Helvetica,sans-serif}.sc-cm-holder>.sc-cm{border-top:5px solid #222!important;padding:0!important;line-height:200%!important;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.sc-cm .sc-cm__item.examples-variante.sc-cm__item_active>a>i{display:none!important}.sc-cm .sc-cm__item.examples-variante>a>i{display:none!important}.sc-cm__item_dropdown .i-icon{display:none!important}.sc-cm__item_dropdown .i-icon::before{display:none!important}.sc-cm::before{display:none!important}div.sc-cm-holder.sc-cm_show>ul>li.sc-cm__item.sc-cm__item_dropdown.sc-cm__item_arrow>div>ul{border-style:none!important;padding:0!important}.sc-cm__item_dropdown:hover>a,.sc-cm a:hover{background-color:#ebebeb!important}.sc-cm__item_active>a,.sc-cm__item_active>a:hover,.sc-cm a:active,.sc-cm a:focus{background-color:#d6d6d6!important}.sc-cm__item>a{line-height:200%!important}.sc-cm-holder>.sc-cm:before{background-color:#ebebeb!important}.sc-cm-holder{display:none}
|
||||
Vendored
BIN
Binary file not shown.
|
After Width: | Height: | Size: 339 KiB |
+137
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../css/froala_editor.css">
|
||||
<link rel="stylesheet" href="../../css/froala_style.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/code_view.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/colors.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/emoticons.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/image_manager.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/image.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/line_breaker.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/table.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/char_counter.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/video.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/fullscreen.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/file.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/at.js/1.4.0/css/jquery.atwho.min.css">
|
||||
|
||||
<style>
|
||||
body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#editor {
|
||||
width: 81%;
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.atwho-view-ul {
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="editor">
|
||||
<div id='edit' style="margin-top: 30px;">
|
||||
<h1>At.js integration</h1>
|
||||
|
||||
<p>Froala WYSIWYG Editor can easily be integrated with the amazing <a href="http://ichord.github.io/At.js/" target="_blank" rel="nofollow">At.js library</a>. Type an @ to display the autocomplete list.</p>
|
||||
|
||||
<img class="fr-fir fr-dii" src="../../img/photo1.jpg" alt="Old Clock" width="300"/>Lorem <strong>ipsum</strong> dolor sit amet, consectetur <strong>adipiscing <em>elit.</em> Donec</strong> facilisis diam in odio iaculis blandit. Nunc eu mauris sit amet purus <strong>viverra</strong><em> gravida</em> ut a dui.<br/>
|
||||
<ul><li>Vivamus nec rutrum augue, pharetra faucibus purus. Maecenas non orci sagittis, vehicula lorem et, dignissim nunc.</li> <li>Suspendisse suscipit, diam non varius facilisis, enim libero tincidunt magna, sit amet iaculis eros libero sit amet eros. Vestibulum a rhoncus felis.<ol><li>Nam lacus nulla, consequat ac lacus sit amet, accumsan pellentesque risus. Aenean viverra mi at urna mattis fermentum.</li> <li>Curabitur porta metus in tortor elementum, in semper nulla ullamcorper. Vestibulum mattis tempor tortor quis gravida. In rhoncus risus nibh. Nullam condimentum dapibus massa vel fringilla. Sed hendrerit sed est quis facilisis. Ut sit amet nibh sem. Pellentesque imperdiet mollis libero.</li></ol></li></ul>
|
||||
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="width: 25%;"></td>
|
||||
<td style="width: 25%;"></td>
|
||||
<td style="width: 25%;"></td>
|
||||
<td style="width: 25%;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%;"></td>
|
||||
<td style="width: 25%;"></td>
|
||||
<td style="width: 25%;"></td>
|
||||
<td style="width: 25%;"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a href="http://google.com" title="Aenean sed hendrerit">Aenean sed hendrerit</a> velit. Nullam eu mi dolor. Maecenas et erat risus. Nulla ac auctor diam, non aliquet ante. Fusce ullamcorper, ipsum id tempor lacinia, sem tellus malesuada libero, quis ornare sem massa in orci. Sed dictum dictum tristique. Proin eros turpis, ultricies eu sapien eget, ornare rutrum ipsum. Pellentesque eros nisl, ornare nec ipsum sed, aliquet sollicitudin erat. Nulla tincidunt porta <strong>vehicula.</strong><br/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/at.js/1.5.4/js/jquery.atwho.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../js/froala_editor.min.js" ></script>
|
||||
|
||||
<script type="text/javascript" src="../../js/plugins/align.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/code_beautifier.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/code_view.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/colors.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/draggable.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/emoticons.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/font_size.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/font_family.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/image.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/file.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/image_manager.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/line_breaker.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/link.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/lists.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/paragraph_format.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/paragraph_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/video.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/table.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/url.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/entities.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/char_counter.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/inline_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/save.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/fullscreen.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/quote.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
var datasource = ["Jacob", "Isabella", "Ethan", "Emma", "Michael", "Olivia" ];
|
||||
|
||||
var names = $.map(datasource, function (value, i) {
|
||||
return {
|
||||
'id': i, 'name': value, 'email': value + "@email.com"
|
||||
};
|
||||
});
|
||||
|
||||
var config = {
|
||||
at: "@",
|
||||
data: names,
|
||||
displayTpl: '<li>${name} <small>${email}</small></li>',
|
||||
limit: 200
|
||||
}
|
||||
|
||||
$('#edit')
|
||||
.on('froalaEditor.initialized', function (e, editor) {
|
||||
editor.$el
|
||||
.atwho(config)
|
||||
.on('inserted.atwho', function () {
|
||||
editor.$el.find('.atwho-inserted').removeAttr('contenteditable');
|
||||
})
|
||||
|
||||
editor.events.on('keydown', function (e) {
|
||||
if (e.which == $.FroalaEditor.KEYCODE.ENTER && editor.$el.atwho('isSelecting')) {
|
||||
return false;
|
||||
}
|
||||
}, true);
|
||||
})
|
||||
.froalaEditor()
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,94 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_editor.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_style.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/colors.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/emoticons.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image_manager.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/line_breaker.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/table.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/char_counter.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/video.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/fullscreen.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/file.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/at.js/1.4.0/css/jquery.atwho.min.css">
|
||||
|
||||
<!-- Code Mirror CSS file. -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
|
||||
|
||||
<!-- Include the plugin CSS file. -->
|
||||
<link rel="stylesheet" href="../../../css/plugins/code_view.css">
|
||||
|
||||
<style>
|
||||
body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#editor {
|
||||
width: 81%;
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
div#froala-details {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="editor">
|
||||
<div id="edit" style="margin-top: 30px;">
|
||||
<h1>Aviary integration</h1>
|
||||
|
||||
<img class="fr-fir fr-dii" src="../../../img/photo1.jpg" alt="Old Clock" width="300"/>
|
||||
|
||||
<p>Click on the image then apply rich image editing using the advanced edit button. This will launch the aviary image editor plugin.</p>
|
||||
<p>To integrate the plugin an api key it will be needed but it's easily obtained from</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="froala-details">
|
||||
<h3>Use Aviary plugin instructions.</h3>
|
||||
<p>To integrate the Aviary plugin on your own domain/website there are 3 simple steps to follow.</p>
|
||||
<p>1. Go to <a href="https://creativesdk.adobe.com/docs/web/#/index.html">Adobe Creative</a> and register for a new account or sign if you already have one.</p>
|
||||
<p>2. Follow the steps to <a href="https://creativesdk.zendesk.com/hc/en-us/articles/216369343-Why-and-how-to-register-my-app-"> register your new app</a>, this will generate an api key that will be used later on.</p>
|
||||
<p>3. You should have your api key by now, so what's left to do is to initialize the Froala Editor and use your own api key.
|
||||
To do this you should pass <code> aviaryKey: 'your api key'</code> to the Froala Editor on init.</p>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/at.js/1.4.0/js/jquery.atwho.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../../js/froala_editor.min.js" ></script>
|
||||
|
||||
<script type="text/javascript" src="../../../js/plugins/align.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_beautifier.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_view.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_size.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_family.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image_manager.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/link.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/lists.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_format.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/url.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/entities.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/save.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/third_party/image_aviary.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('#edit').froalaEditor({
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,106 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_editor.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_style.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/code_view.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/colors.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/emoticons.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image_manager.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/line_breaker.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/table.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/char_counter.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/video.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/fullscreen.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/file.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
|
||||
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
|
||||
|
||||
<!-- Optional theme -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
|
||||
|
||||
<style>
|
||||
body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#editor {
|
||||
width: 81%;
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fr-inner:not(.row) {
|
||||
border: solid 1px #CCC;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="editor">
|
||||
<textarea id='edit'><div style="margin: 0 15px;">
|
||||
<div class="row fr-inner">
|
||||
<div class="col-xs-12 col-md-8 fr-inner">.col-xs-12 .col-md-8</div>
|
||||
<div class="col-xs-6 col-md-4 fr-inner">.col-xs-6 .col-md-4</div>
|
||||
</div>
|
||||
<div class="row fr-inner">
|
||||
<div class="col-xs-6 col-md-4 fr-inner">.col-xs-6 .col-md-4</div>
|
||||
<div class="col-xs-6 col-md-4 fr-inner">.col-xs-6 .col-md-4</div>
|
||||
<div class="col-xs-6 col-md-4 fr-inner">.col-xs-6 .col-md-4</div>
|
||||
</div>
|
||||
<div class="row fr-inner">
|
||||
<div class="col-xs-6 fr-inner">.col-xs-6</div>
|
||||
<div class="col-xs-6 fr-inner">.col-xs-6</div>
|
||||
</div>
|
||||
</div></textarea>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/froala_editor.min.js" ></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/align.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_beautifier.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_view.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/colors.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/draggable.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/emoticons.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_size.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_family.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/file.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image_manager.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/line_breaker.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/link.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/lists.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_format.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/video.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/table.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/url.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/entities.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/char_counter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/inline_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/save.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/fullscreen.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/quote.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/languages/ro.js"></script>
|
||||
|
||||
<!-- Latest compiled and minified JavaScript -->
|
||||
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('#edit').froalaEditor({
|
||||
enter: $.FroalaEditor.ENTER_BR
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_editor.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_style.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/code_view.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/colors.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/emoticons.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image_manager.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/line_breaker.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/table.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/char_counter.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/video.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/fullscreen.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/file.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
|
||||
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
|
||||
|
||||
<!-- Optional theme -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
|
||||
|
||||
<style>
|
||||
body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#editor {
|
||||
width: 81%;
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fr-inner:not(.row) {
|
||||
border: solid 1px #CCC;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="editor">
|
||||
<textarea id='edit'>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">Cras justo odio</li>
|
||||
<li class="list-group-item">Dapibus ac facilisis in</li>
|
||||
<li class="list-group-item">Morbi leo risus</li>
|
||||
<li class="list-group-item">Porta ac consectetur ac</li>
|
||||
<li class="list-group-item">Vestibulum at eros</li>
|
||||
</ul>
|
||||
</textarea>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/froala_editor.min.js" ></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/align.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_beautifier.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_view.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/colors.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/draggable.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/emoticons.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_size.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_family.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/file.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image_manager.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/line_breaker.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/link.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/lists.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_format.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/video.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/table.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/url.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/entities.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/char_counter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/inline_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/save.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/fullscreen.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/quote.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/languages/ro.js"></script>
|
||||
|
||||
<!-- Latest compiled and minified JavaScript -->
|
||||
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('#edit').froalaEditor({
|
||||
enter: $.FroalaEditor.ENTER_BR
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,138 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_editor.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_style.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/code_view.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/colors.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/emoticons.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image_manager.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/line_breaker.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/table.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/char_counter.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/video.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/fullscreen.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/file.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
|
||||
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
|
||||
|
||||
<!-- Optional theme -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
text-align: center;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div#editor {
|
||||
width: 81%;
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
transform : none !important;
|
||||
-webkit-transform : none !important;
|
||||
-moz-transform : none !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="editor">
|
||||
<!-- Button trigger modal -->
|
||||
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
|
||||
Launch demo modal
|
||||
</button>
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="myModalLabel">Froala WYSIWYG HTML Editor</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id='edit'>
|
||||
<h1>Click and edit</h1>
|
||||
|
||||
<img class="fr-fir fr-dii" src="../../../img/photo1.jpg" alt="Old Clock" width="300"/>Lorem <strong>ipsum</strong> dolor sit amet, consectetur <strong>adipiscing <em>elit.</em> Donec</strong> facilisis diam in odio iaculis blandit. Nunc eu mauris sit amet purus <strong>viverra</strong><em> gravida</em> ut a dui.<br/>
|
||||
<ul><li>Vivamus nec rutrum augue, pharetra faucibus purus. Maecenas non orci sagittis, vehicula lorem et, dignissim nunc.</li> <li>Suspendisse suscipit, diam non varius facilisis, enim libero tincidunt magna, sit amet iaculis eros libero sit amet eros. Vestibulum a rhoncus felis.<ol><li>Nam lacus nulla, consequat ac lacus sit amet, accumsan pellentesque risus. Aenean viverra mi at urna mattis fermentum.</li> <li>Curabitur porta metus in tortor elementum, in semper nulla ullamcorper. Vestibulum mattis tempor tortor quis gravida. In rhoncus risus nibh. Nullam condimentum dapibus massa vel fringilla. Sed hendrerit sed est quis facilisis. Ut sit amet nibh sem. Pellentesque imperdiet mollis libero.</li></ol></li></ul>
|
||||
|
||||
<table style="width: 100%;">
|
||||
<tr><td>asdasd</td><td>asdasdasd</td></tr>
|
||||
</table>
|
||||
|
||||
Sed dictum dictum tristique. Proin eros turpis, ultricies eu sapien eget, ornare rutrum ipsum. Pellentesque eros nisl, ornare nec ipsum sed, aliquet sollicitudin erat. Nulla tincidunt porta <strong>vehicula.</strong><br/>
|
||||
|
||||
<a href="http://google.com" title="Aenean sed hendrerit">Aenean sed hendrerit</a> velit. Nullam eu mi dolor. Maecenas et erat risus. Nulla ac auctor diam, non aliquet ante. Fusce ullamcorper, ipsum id tempor lacinia, sem tellus malesuada libero, quis ornare sem massa in orci. Sed dictum dictum tristique. Proin eros turpis, ultricies eu sapien eget, ornare rutrum ipsum. Pellentesque eros nisl, ornare nec ipsum sed, aliquet sollicitudin erat. Nulla tincidunt porta <strong>vehicula.</strong><br/>
|
||||
|
||||
<i>Nullam laoreet</i> imperdiet orci ac euismod. Curabitur vel lectus nisi. Phasellus accumsan aliquet augue, eu rutrum tellus iaculis in. Nunc viverra ultrices mollis. Curabitur malesuada nunc massa, ut imperdiet arcu lobortis sed. Cras ac arcu mauris. Maecenas id lectus nisl. Donec consectetur scelerisque quam at ultricies. Nam quis magna iaculis, condimentum metus ut, elementum metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus id tempus nisi.<br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-primary">Save changes</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/froala_editor.min.js" ></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/align.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_beautifier.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_view.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/colors.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/draggable.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/emoticons.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_size.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_family.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/file.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image_manager.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/line_breaker.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/link.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/lists.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_format.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/video.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/table.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/url.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/entities.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/char_counter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/inline_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/save.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/fullscreen.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/quote.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/languages/ro.js"></script>
|
||||
|
||||
<!-- Latest compiled and minified JavaScript -->
|
||||
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('#edit').froalaEditor({
|
||||
enter: $.FroalaEditor.ENTER_P,
|
||||
height: 350,
|
||||
zIndex: 8000
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,85 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../css/froala_editor.css">
|
||||
<link rel="stylesheet" href="../../css/froala_style.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/colors.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/emoticons.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/image_manager.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/image.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/line_breaker.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/table.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/char_counter.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/video.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/fullscreen.css">
|
||||
<link rel="stylesheet" href="../../css/plugins/file.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/at.js/1.4.0/css/jquery.atwho.min.css">
|
||||
|
||||
<!-- Code Mirror CSS file. -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
|
||||
|
||||
<!-- Include the plugin CSS file. -->
|
||||
<link rel="stylesheet" href="../../css/plugins/code_view.css">
|
||||
|
||||
<style>
|
||||
body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#editor {
|
||||
width: 81%;
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.atwho-view-ul {
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="editor">
|
||||
|
||||
<div id="edit" style="margin-top: 30px;">
|
||||
<h1>Code Mirror</h1>
|
||||
|
||||
<img class="fr-fir fr-dii" src="../../img/photo1.jpg" alt="Old Clock" width="300"/>Click the Code View button to see the editor content's HTML.
|
||||
|
||||
<p>The code_view.min.js plugin can be used as is or you can use also use it together with Code Mirror. All there is to be done is to include the corresponding Code Mirror CSS and JS files.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/at.js/1.4.0/js/jquery.atwho.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../js/froala_editor.min.js" ></script>
|
||||
|
||||
<script type="text/javascript" src="../../js/plugins/align.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/code_beautifier.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/code_view.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/font_size.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/font_family.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/image.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/image_manager.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/link.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/lists.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/paragraph_format.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/url.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/entities.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/plugins/save.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('#edit').froalaEditor({
|
||||
toolbarButtons: ['bold', 'italic', 'underline', 'fontSize', 'fontFamily', '|', 'paragraphFormat', 'align', 'formatOL', 'formatUL', 'indent', 'outdent', '|', 'insertLink', 'insertImage', 'undo', 'redo', 'html']
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,97 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_editor.css">
|
||||
<link rel="stylesheet" href="../../../css/froala_style.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/code_view.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/colors.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/emoticons.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image_manager.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/image.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/line_breaker.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/table.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/char_counter.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/video.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/fullscreen.css">
|
||||
<link rel="stylesheet" href="../../../css/plugins/file.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/git/jquery.mobile-git.css">
|
||||
|
||||
<style>
|
||||
body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#editor {
|
||||
width: 81%;
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div data-role="page">
|
||||
|
||||
<div data-role="header">
|
||||
<h1>Page Title</h1>
|
||||
</div><!-- /header -->
|
||||
|
||||
<div role="main" class="ui-content">
|
||||
<textarea name="edit" id="edit">Click here to edit</textarea>
|
||||
</div><!-- /content -->
|
||||
|
||||
<div data-role="footer">
|
||||
<h4>Page Footer</h4>
|
||||
</div><!-- /footer -->
|
||||
</div><!-- /page -->
|
||||
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="http://demos.jquerymobile.com/1.4.5/js/jquery.mobile-1.4.5.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../../js/froala_editor.min.js" ></script>
|
||||
|
||||
<script type="text/javascript" src="../../../js/plugins/align.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_beautifier.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/code_view.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/colors.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/draggable.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/emoticons.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_size.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/font_family.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/file.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/image_manager.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/line_breaker.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/link.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/lists.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_format.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/paragraph_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/video.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/table.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/url.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/entities.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/char_counter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/inline_style.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/save.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/fullscreen.min.js"></script>
|
||||
<script type="text/javascript" src="../../../js/plugins/quote.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../../js/languages/ro.js"></script>
|
||||
|
||||
<script>
|
||||
$(document).on('pageinit', function () {
|
||||
$('#edit').froalaEditor({
|
||||
enter: $.FroalaEditor.ENTER_P,
|
||||
toolbarInline: true,
|
||||
toolbarButtons: ['bold', 'italic', 'underline']
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user