Skip to content

Commit 3c5a395

Browse files
committed
Polaroid with text.
1 parent e3cbec7 commit 3c5a395

File tree

18 files changed

+275
-22
lines changed

18 files changed

+275
-22
lines changed

containers/imagick_php_base_im7/install_imagick.sh

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22
set -e
33
set -x
44

5-
6-
# version="3.5.1"
7-
# im_tgz_file="imagick-${version}.tgz"
8-
95
if [ ! -d "${im_dir}" ]; then
6+
echo "Directory didn't exist, cloning imagick"
107
wget "https://github.com/Imagick/imagick/archive/refs/heads/master.tar.gz" -O imagick-master.tar.gz
118
fi
129

docker-compose.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
version: "3"
22
services:
3-
#css_builder:
4-
# build: containers/css_builder
5-
# volumes:
6-
# - .:/var/app
73
chrome_headless:
84
image: alpeware/chrome-headless-trunk
95
ports:

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
},
2929
"homepage": "https://github.com/Danack/Imagick-demos#readme",
3030
"devDependencies": {
31-
"@types/jquery": "^3.5.10",
31+
"@types/jquery": "^3.5.11",
3232
"compression-webpack-plugin": "^3.1.0",
3333
"css-loader": "^3.6.0",
3434
"raw-loader": "^4.0.2",

public/tsx/ControlPanel.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -379,12 +379,11 @@ export class ControlPanel extends Component<AppProps, AppState> {
379379
<TextInput
380380
name={map_api_name(control_info.name)}
381381
// @ts-ignore: blah blah blah
382-
default={control_info.schema.default}
383382
maxLength={control_info.schema.maxLength}
384383
updateFn={(newValue) => {
385384
this.setCurrentValue(control_info.name, newValue);
386385
}}
387-
/>
386+
value={control_info.schema.default}/>
388387
</div>
389388
}
390389

public/tsx/components/TextInput.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
export interface TextInputProps {
55
name: string;
6+
67
maxLength: number|undefined;
78
value: number|string;
89
updateFn?(newValue:any): void;

routes/app_routes.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@
7575

7676
['/notes', 'GET', ['ImagickDemo\Controller\Notes', 'getNotesPage']],
7777

78+
['/todo', 'GET', ['ImagickDemo\Controller\TodoList', 'createResponse']],
79+
7880
['/info', 'GET', ['ImagickDemo\Controller\ServerInfo', 'createResponse']],
7981
['/queueinfo', 'GET', ['ImagickDemo\Controller\QueueInfo', 'createResponse']],
8082
['/queuedelete', 'GET', ['ImagickDemo\Controller\QueueInfo', 'deleteQueue']],

runRebuildLocal.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ docker-compose build --no-cache imagick_php_base_im7
44
docker-compose build --no-cache imagick_php_base_im6
55
docker-compose up --build --remove-orphans installer
66

7-
docker-compose up --build --force-recreate imagick_php_backend_im6 imagick_php_backend_im6_debug imagick_php_backend_im7 imagick_php_backend_im7_debug js_builder redis nginx chrome_headless
7+
# --force-recreate
8+
docker-compose up --build imagick_php_backend_im6 imagick_php_backend_im6_debug imagick_php_backend_im7 imagick_php_backend_im7_debug js_builder redis nginx chrome_headless
89

910
# workers
1011

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?php
2+
3+
namespace ImagickDemo\Controller;
4+
5+
use ImagickDemo\Helper\PageInfo;
6+
use ImagickDemo\NavigationBar;
7+
8+
9+
function getMissingMethods(string $classname, $imagickDrawExamples): string
10+
{
11+
$missing_methods = [];
12+
$rc = new \ReflectionClass($classname);
13+
$methods = $rc->getMethods();
14+
foreach ($methods as $method) {
15+
$method_name = $method->getName();
16+
if (array_key_exists($method_name, $imagickDrawExamples) === false) {
17+
$missing_methods[] = $method_name;
18+
}
19+
}
20+
21+
$html = "<h2>Missing $classname methods</h2>";
22+
$html .= implode("<br/>", $missing_methods);
23+
24+
return $html;
25+
}
26+
27+
class TodoList
28+
{
29+
public function createResponse(
30+
PageInfo $pageInfo,
31+
NavigationBar $navBar
32+
) {
33+
34+
$html = '';
35+
$html .= getMissingMethods(
36+
\Imagick::class,
37+
getImagickExamples()
38+
);
39+
40+
$html .= getMissingMethods(
41+
\ImagickDraw::class,
42+
getImagickDrawExamples()
43+
);
44+
45+
$html .= getMissingMethods(
46+
\ImagickPixel::class,
47+
getImagickPixelExamples()
48+
);
49+
50+
$html .= getMissingMethods(
51+
\ImagickPixelIterator::class,
52+
getImagickPixelIteratorExamples()
53+
);
54+
55+
$html .= getMissingMethods(
56+
\ImagickKernel::class,
57+
getImagickKernelExamples()
58+
);
59+
60+
return renderTextPage(
61+
$pageInfo,
62+
$navBar,
63+
$html
64+
);
65+
}
66+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
declare(strict_types = 1);
4+
5+
namespace ImagickDemo\Imagick\Controls;
6+
7+
use ImagickDemo\Params\ImagickColorParam;
8+
use ImagickDemo\Params\UserText;
9+
use ImagickDemo\ToArray;
10+
use Params\Create\CreateFromVarMap;
11+
use Params\InputParameterList;
12+
use Params\InputParameterListFromAttributes;
13+
use Params\SafeAccess;
14+
use ImagickDemo\Params\Image;
15+
use ImagickDemo\Params\Angle;
16+
use ImagickDemo\Params\InterpolateType;
17+
18+
class PolaroidWithTextAndMethodControl implements InputParameterList
19+
{
20+
use SafeAccess;
21+
use CreateFromVarMap;
22+
use ToArray;
23+
use InputParameterListFromAttributes;
24+
25+
public function __construct(
26+
#[UserText('text', 100, 'shamone')]
27+
private string $text,
28+
#[InterpolateType('interpolate_type')]
29+
private int $interpolate_type,
30+
#[Angle('angle')]
31+
private string $angle,
32+
#[Image('image_path')]
33+
private string $image_path,
34+
#[ImagickColorParam('rgb(0, 0, 0)', 'stroke_color')]
35+
private string $stroke_color,
36+
#[ImagickColorParam('white', 'fill_color')]
37+
private string $fill_color,
38+
) {
39+
}
40+
41+
public function getValuesForForm(): array
42+
{
43+
return [
44+
'text' => $this->text,
45+
'interpolate_type' => getOptionFromOptions($this->interpolate_type, getInterpolateOptions()),
46+
'angle' => $this->angle,
47+
'image_path' => getOptionFromOptions($this->image_path, getImagePathOptions()),
48+
'stroke_color' => $this->stroke_color,
49+
'fill_color' => $this->fill_color,
50+
];
51+
}
52+
}

0 commit comments

Comments
 (0)